Bonjour, je dois réaliser un script batch pour mon travail mais je rencontre un petit problème avec la boucle for et les tests que j'effectue.
Voici mon code :
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 SET %HOME%=C:\ SET LOGFILE=C:\test.log SET LOGTMP=c:\test.tmp echo ##### Copy ##### >> %LOGFILE% copy toto.txt %HOME% copy titi.txt %HOME% copy tutu.txt %HOME% REM Test de la présence des fichiers dans %HOME% FOR %%i in (toto.txt tutu.txt titi.txt) do if EXIT %HOME\%%i (echo OK : %%i >> %LOGFILE%) Else (goto END) pause exit 0 :END echo KO : %%i : see %LOGTMP% >> %LOGFILE% exit 1
Si la présence est , j'obtiens dans mon log :
Ok : toto.txt
Ok : tutu.txt
Ok : titi.txt
Par contre si ce n'est pas bon, dans le log j'ai :
Ko : %i see C:\test.tmp
Je ne comprends pas pourquoi le %%i ne garde pas en mémoire la valeur du for!
Merci de votre aide
Partager