在CMD.EXE中,我可以使用DIR
搜索某些内容-举下面的例子:
DIR C:*EXCEL.EXE /A:-D /B /S
尽管要了解C:\驱动器的整个结构需要一段时间,但第一次匹配相对较快。
问:一旦找到命中,是否有办法自动停止命令继续搜索?
我之所以这么问,是因为我实际上想shell一个cmd提示符,并将StdOut读取到另一个脚本,但如果我等待整个搜索完成,会有很长的停顿。
你不能停止dir
,但你可以使用另一种方法:
for /r "c:" %%i in (excel.exe) do (echo -- %%i & goto :eof)
到目前为止,这是我发现的最快的方法。
运行此获取位置。。。(比目录快得多)
where /r %systemdrive% inventor.exe
如果你真的想使用输出,运行这个。。。
where /r %systemdrive% inventor.exe > %userprofile%loctest.txt
然后运行此操作来设置要使用的变量。注意:(如果您手动运行而不是在.bat或.cmd中运行,请记住只使用1%)
for /f "tokens=*" %%G in (%userprofile%loctest.txt) do (set testvar=%%G)
然后,您可以运行echo%testvar%来查看值。。。
以下是命令行中的内容
我来聊天是为了寻找一种方法,将cd复制到一个具有给定部分名称的目录;根据Stephan上面的建议,使用批处理文件似乎对我很有效:cww.bat::
for /D /r "." %%i in (*%1*) do (cd %%~pfxi & goto :eof)