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?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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
回答2:
Do this: -
for /f "delims=" %%F in ('dir /b /s "C:\File.txt" 2^>nul') do set MyVariable=%%F
Assuming you are searching C
drive for File.txt
.