Salut a tous,
J'essaye d'ecrir un petit batch script pour trouver un exe. Ne sachant pas a priori dans quelques lecteur il va etre, je fais une boucle sur les lecteurs C,D (liste non-exhaustive pour l'example) et puis une recherche avec dir /b /s
Il trouve bien l'exe mais je voudrais faire un break une fois trouver pour ne pas chercher dans les lecteurs suivant pour rien...la est mon probleme.
voici le code:
et voici ce que ca donne:
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
26 @echo off Echo Looking for POVRay executable... set FILENAME=pvengine.exe set LOOKPATH=%LOOKIN%%FILENAME% set DRIVERLIST= C,D set FILEPATH = '' FOR %%d in (%DRIVERLIST%) do ( Echo Looking in %%d:\ for %FILENAME% FOR /F "delims=" %%f in ('dir /B /S %%d:\%FILENAME%') do ( set FILEPATH=%%f ) echo FILEPATH=%FILEPATH% IF NOT '%FILEPATH%'=='' BREAK ) echo File found : %FILEPATH% pause exit
On peut voir que la variable FILEPATH n'est pas rempli et donc mon if ne marche pas...Mais je ne comprends pas pourquoi FILEPATH est vide puisqu'il a trouve le fichier...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Looking for POVRay executable... Looking in C:\ for pvengine.exe FILEPATH= Looking in C:\ for pvengine.exe File Not Found FILEPATH= File found : C:\Program Files\POV-Ray for Windows v3.6\bin\pvengine.exe
une idee?
merci d'avance
David
Partager