Est-il possible de créer un fichier batch qui recherche un nom de fichier, puis retourne son chemin pour que je puisse l'utiliser dans une variable?
for /r C:\folder %%a in (*) do if "%%~nxa"=="file.txt" set p=%%~dpnxa
if defined p (
echo %p%
) else (
echo File not found
)
Si le fichier recherché a été trouvé, il définira la variable %p%
au chemin complet du fichier, y compris le nom et l'extension.
Si vous voulez juste le chemin (comme dans le chemin du dossier sans le fichier) alors utilisez set p=%%~dpa
au lieu.
Remarque: S'il y a plus d'un fichier avec le même nom, la variable sera définie sur le dernier trouvé. De plus, le script après la ligne de boucle for
n'est pas vraiment nécessaire, juste pour vous montrer s'il a trouvé quelque chose :)
Si vous voulez le faire en utilisant la commande dir
puis utilisez ceci, les mêmes règles s'appliquent
for /f "tokens=*" %%a in ('dir acad.exe /b /s') do set p=%%a
Faites ceci: -
for /f "delims=" %%F in ('dir /b /s "C:\File.txt" 2^>nul') do set MyVariable=%%F
En supposant que vous recherchez C
lecteur pour File.txt
.