[batch] recherche de fichier sur different lecteurs
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:
Code:
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 |
et voici ce que ca donne:
Code:
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 |
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...
une idee?
merci d'avance
David