Find file and return full path using a batch file
batch-file, directory, file, windows
Solution
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
Problem
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?