Bonjour,
Fonctionnelement parlant, si le répertoire contient des fichiers et que le programme n'est pas lancé alors je lance le programme puis je fais une pause pour ensuite retester la présence de fichiers dans mon répertoire.
Le but étant que lorsqu'il n'y a plus de fichiers dans mon répertoire, on kill le programme et on goto fin (on passe alors dans la condition en vert).
Lors de mon test, un fichier est présent dans mon répertoire et mon programme n'est pas lancé avant exécution. On passe donc dans la condition rouge et un sleep s'effectue (le ping). J'efface alors mon fichier. Lors du deuxième passage, la variable flagFic doit donc être valorisée à 0 car pas de fichiers or ce n'est pas le cas...
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
24
25 @echo off set RepLog="C:\Program Files\log\*.txt" set execProg=C:\Windows\notepad.exe :test set retry=0 set flagFic=0 set flagProg=0 TaskList | findstr /c:notepad.exe If %errorlevel% == 0 (set flagProg=1) else (set flagProg=0) if not exist %RepLog% (set flagFic=0) else (set flagFic=1) if %flagFic% EQU 0 (if %flagProg% EQU 1 (taskkill /F /IM notepad.exe & goto fin) else (goto fin)) if %flagFic% EQU 1 (if %flagProg% EQU 0 (set retry=1 & start C:\Windows\notepad.exe) else (set retry=0 & echo PROBLEME PROG)) if %retry% EQU 1 (ping 127.0.0.1 -n 11) if %retry% EQU 1 (goto test) goto fin :fin
Avez-vous une idée ?
Merci.
Cordialement.
Partager