我需要找到特定目录的位置,然后将该目录路径存储到Windows批处理脚本中的变量中。
我还希望命令在找到匹配时返回(以避免在找到目录后搜索整个硬盘驱动器。)
到目前为止,我已经在命令行上尝试了这个:
dir c:\ /s /b /ad | find "DirectoryName"
这样做的问题是,即使找到匹配项,它也会搜索整个驱动器。另外,我仍然无法弄清楚如何将结果存储在批处理文件中的变量中。应该只有一个结果。
基本上我需要在Linux / bash上使用类似的东西:
export DIRPATH=`find / -name "DirectoryName" -print -quit`
感谢您的期待!
答案 0 :(得分:0)
在批处理中,您需要FOR /F
来获取命令的输出。
FOR /F "usebackq delims=" %%p IN (`dir c:\ /s /b /ad ^| find "DirectoryName"`) DO (
set "DIRPATH=%%p"
)
echo %DIRPATH%
由于find命令中有引号,您需要usebackq-option。 并且有必要一次转义管道字符,因为它应该管道 dir 命令,而不是 for 命令