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

标签 windows file batch-file directory

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

最佳答案

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

关于windows - 使用批处理文件查找文件并返回完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13876771/

相关文章:

Python 模块 (pyenv) 安装不起作用

java - 无法使用 HTTPS 连接

sql-server - 我对批处理循环有点模糊

javascript - 什么是批处理文件中的 WScript?

c++ - 如何在启用显示隐藏文件和文件夹的情况下使用 C\C++ 隐藏

.net - Metro 应用程序中的 Storyboard动画和附加属性

.net - 如何以编程方式复制在 Windows 下锁定的文件或文件夹?

c - 从 C 中的二进制文件读取数组返回不正确的值

java - 执行字符串分割时出现 NullPointer 异常

powershell - 如何模拟批处理脚本