Bonjour à tous,
Je souhaiterais comprendre pourquoi ma boucle for se joue sur 3 occurrences !!!
Je m'explique : je parse un fichier qui me ressort 2 lignes, ces 2 lignes sont coupées en 3 parties que j'envoie dans des variables.
Voici mon code :
Code Bat : 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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 @echo off set Now=%date:~6,4%-%date:~3,2%-%date:~0,2% if not exist C:\Winnt\archives_signatures\%Now% ( mkdir C:\Winnt\archives_signatures\%Now% xcopy /e /y /r C:\Winnt\Signatures\* C:\Winnt\archives_signatures\%Now% > NUL ) type "C:\Users\BB07814N\Desktop\ajout_suppression.csv" > C:\Temp\ajout_suppression.txt for /f "tokens=1,2,3 delims=;" %%a IN ('findstr /i %computername% C:\Temp\ajout_suppression.txt') DO ( set cible=%%a set sig=%%b set act=%%c set now2=%date:~6,4%%date:~3,2%%date:~0,2% call :add_del ) del /q C:\Temp\ajout_suppression.txt :add_del if "%act%" == "Ajout" ( if exist "C:\Winnt\Signatures\%sig%" ( echo %now2% %cible% La signature %sig% existe deja et ne sera pas ajoutee ) else ( type nul > "C:\Winnt\Signatures\%sig%" if errorlevel 0 ( echo %now2% %cible% Ajout de la signature %sig% : OK ) else ( echo %now2% %cible% Ajout de la signature %sig% : KO ) ) ) else if "%act%" == "Suppression" ( if not exist "C:\Winnt\Signatures\%sig%" ( echo %now2% %cible% La signature %sig% n'existe pas elle ne sera pas supprimee ) else ( del /Q "C:\Winnt\Signatures\%sig% if errorlevel 0 ( echo %now2% %cible% Suppression de la signature %sig% : OK ) else ( echo %now2% %cible% Suppression de la signature %sig% : KO ) ) ) else ( echo Action non prevue ) goto :eof
Et voici le résultat :
Code Bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 20160701 zeq320m1 Suppression de la signature test_avant_suppression : OK 20160701 zeq320m1 Ajout de la signature test_apres_ajout : OK 20160701 zeq320m1 La signature test_apres_ajout existe deja et ne sera pas ajout ee
Mon résultat devrait contenir simplement les 2 premières lignes !!!
Pourquoi la boucle repart sur la première occurrence ???
Je vous remercie par avance.
Partager