使用批处理文件查找文件并返回完整路径

时间:2012-12-14 10:24:12

标签: windows file batch-file directory

是否可以创建一个搜索文件名的批处理文件,然后返回其路径以便在变量中使用它?

2 个答案:

答案 0 :(得分:15)

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

注意 :如果有多个同名文件,则该变量将设置为找到的最后一个。 for循环行之后的脚本也不是必需的,只是为了告诉你它是否找到了什么:)

如果您想使用dir命令执行此操作,请使用此命令,应用相同的规则

for /f "tokens=*" %%a in ('dir acad.exe /b /s') do set p=%%a

答案 1 :(得分:5)

这样做: -

for /f "delims=" %%F in ('dir /b /s "C:\File.txt" 2^>nul') do set MyVariable=%%F

假设您正在C搜索File.txt