是否可以创建一个搜索文件名的批处理文件,然后返回其路径以便我可以在变量中使用它?
问问题
79765 次
2 回答
18
for /r C:\folder %%a in (*) do if "%%~nxa"=="file.txt" set p=%%~dpnxa
if defined p (
echo %p%
) else (
echo File not found
)
如果找到您搜索的文件,它会将变量设置为%p%
文件的完整路径,包括名称和扩展名。
如果您只想要路径(如在没有文件的文件夹路径中),请set p=%%~dpa
改用。
注意:如果有超过 1 个同名文件,则该变量将设置为找到的最后一个。循环行之后的脚本for
也不是必需的,只是为了告诉你它是否找到任何东西:)
如果您想使用dir
命令执行此操作,请使用此命令,同样的规则适用
for /f "tokens=*" %%a in ('dir acad.exe /b /s') do set p=%%a
于 2012-12-14T10:33:00.290 回答
5
做这个: -
for /f "delims=" %%F in ('dir /b /s "C:\File.txt" 2^>nul') do set MyVariable=%%F
假设您正在搜索C
驱动器File.txt
。
于 2014-01-21T18:45:42.550 回答