Bonjour,
j'ai un petit souci avec un script, il m'est impossible de dans une boucle IF de faire une opération mathématique sur des variables. Je pensais initialement que la faute était du à un espace dans ma variable, mais même en remplaçant par des valeurs en dures, le calcul n'est pas effectuée. J'avoue je sèche un peu, je ne suis pas un cador non plus faut dire
Voici mon script:
Le fichier Sitescope_server_list_test est de la forme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 REM @echo off setlocal enabledelayedexpansion REM lecture du fichier H:\Sitescope_Licences_Script\Sitescope_server_list.txt pour parser %%A="nom du server", et %%B="lettre du disque ou est installe SIS" for /f "tokens=1,2,3 delims=;" %%A in (H:\Sitescope_Licences_Script\Sitescope_server_list_test.txt) Do ( REM suppression du precedent rapport DEL H:\Sitescope_Licences_Script\SIS_POINTS_%%A.txt echo %DATE% >> H:\Sitescope_Licences_Script\SIS_POINTS_%%A.txt ovdeploy -ovrg server -download -file %%B\Sitescope\logs\monitorCount.log -host %%A REM echo %%A >> H:\Sitescope_Licences_Script\SIS_POINTS_%%A.txt TYPE "H:\HPOM_DATA\shared\server\installation\incoming\files\monitorCount.log" | findstr Used: >> H:\Sitescope_Licences_Script\SIS_POINTS_%%A.txt set points_buy=%%C echo %points_buy% REM setlocal enabledelayedexpansion for /f "tokens=2 delims=:" %%D in (H:\Sitescope_Licences_Script\SIS_POINTS_%%A.txt) Do ( echo %%D rem set points_used=%%D rem echo %points_used% set /a diff_points=%points_buy%-%%D set /a intermediate=%diff_points%/%points_buy% set /a percent=%intermediate%*100 if "%intermediate%" LSS "10" echo NOK_%%A ) )
PMON1APPV05;D:;4000
avec en premier le hostname du serveur, ensuite le disque ou est installé l'appli, et enfin le nombre de points de licences acheté.
Contenu du fichier SIS_POINTS_%%A.txt :
04/11/2014
Total Points Used: 3321
Question subsidiaire, la variable points_used récupère un espace avant le nombre, je voudrais bien parvenir a enlever cet espace, mais je ne sais pas comment faire, jouer sur les délimiteurs me fait matcher un autre bout de la phrase... bref, un avis d'expert ne serait pas de refus
Merci a vous tous
Partager