2

我需要找到特定目录的位置,然后将该目录路径存储到 Windows 批处理脚本中的变量中。

我还希望命令在找到匹配项时返回(以避免在找到目录后搜索整个硬盘驱动器)。

到目前为止,我已经在命令行上尝试过这个:

dir c:\ /s /b /ad | find "DirectoryName"

这样做的问题是它会搜索整个驱动​​器,即使在找到匹配项之后也是如此。另外,我仍然不知道如何将结果存储在批处理文件中的变量中。应该只有一个结果。

基本上我需要在 Linux/bash 上类似这样的东西:

export DIRPATH=`find / -name "DirectoryName" -print -quit`

感谢您的关注!

4

1 回答 1

1

您需要批量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命令

于 2012-10-11T15:21:38.630 回答