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).
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
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...

Avez-vous une idée ?

Merci.

Cordialement.