Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Find file and return full path using a batch file

Is it possible to create a batch file that searches for a file name, then returns its path so I can use it in a variable?

like image 939
LabRat Avatar asked Dec 14 '12 10:12

LabRat


1 Answers

for /r C:\folder %%a in (*) do if "%%~nxa"=="file.txt" set p=%%~dpnxa
if defined p (
echo %p%
) else (
echo File not found
)

If the file you searched for was found it will set the variable %p% to the full path of the file including name and extension.

If you just want the path (as in the folder path without the file) then use set p=%%~dpa instead.

Note: If there is more than 1 file with the same name then the variable will be set to the last one found. Also the script after the for loop line isn't really necessary, just to show you if it found anything :)

If you want to do it using the dir command then use this, same rules apply

for /f "tokens=*" %%a in ('dir acad.exe /b /s') do set p=%%a
like image 195
Bali C Avatar answered Sep 18 '22 11:09

Bali C