Batch file 如何使用WHERE中的属性运行程序
我需要在cmd windows 7中搜索并运行该程序。我尝试了以下代码,当一起输入时,它似乎没有拾取操作员Batch file 如何使用WHERE中的属性运行程序,batch-file,search,cmd,exe,windows-7-x64,Batch File,Search,Cmd,Exe,Windows 7 X64,我需要在cmd windows 7中搜索并运行该程序。我尝试了以下代码,当一起输入时,它似乎没有拾取操作员 START WHERE /R C:\ Program.exe /uninstall dir /s /b Program.exe /uninstall 是否有另一种(更简单/更好的)方法来使用操作员启动程序?其中搜索文件,但不执行它们start where只在新的cmd实例中启动where,因此start与where相关,而与where搜索的文件无关 dir列出目录内容,但也不执行任何操作
START WHERE /R C:\ Program.exe /uninstall
dir /s /b Program.exe /uninstall
是否有另一种(更简单/更好的)方法来使用操作员启动程序?
其中
搜索文件,但不执行它们start where
只在新的cmd
实例中启动where
,因此start
与where
相关,而与where
搜索的文件无关
dir
列出目录内容,但也不执行任何操作。实际上,您应该使用dir/S/B C:\Program.exe
来搜索C:\
中的Pogram.exe
;请注意,dir/S/B Program.exe
在当前工作目录中搜索Program.exe
(递归)
/uninstall
开关被视为where
或所述的dir
命令行的一部分
您需要将任务分为两个阶段:
C:\
中递归搜索文件Program.exe
李>
/uninstall
执行文件Program.exe
李>
下面是如何使用where
:
for/F“delims=“%%E in('where/R“C:\”“Program.exe“)do(
“%%E”/卸载
)
下面是一种使用dir
(已将/a:-D
选项添加到名为Program.exe
的不返回目录中)的方法:
for/F“delims=“%%E in('dir/S/B/A:-D“C:\Program.exe”)do(
“%%E”/卸载
)
如果在
C:\
中有更多名为Program.exe的文件,则所有文件都将被执行。其中
搜索文件,但不执行它们start where
只在新的cmd
实例中启动where
,因此start
与where
相关,而与where
搜索的文件无关
dir
列出目录内容,但也不执行任何操作。实际上,您应该使用dir/S/B C:\Program.exe
来搜索C:\
中的Pogram.exe
;请注意,dir/S/B Program.exe
在当前工作目录中搜索Program.exe
(递归)
/uninstall
开关被视为where
或所述的dir
命令行的一部分
您需要将任务分为两个阶段:
在C:\
中递归搜索文件Program.exe
李>
使用选项/uninstall
执行文件Program.exe
李>
下面是如何使用where
:
for/F“delims=“%%E in('where/R“C:\”“Program.exe“)do(
“%%E”/卸载
)
下面是一种使用dir
(已将/a:-D
选项添加到名为Program.exe
的不返回目录中)的方法:
for/F“delims=“%%E in('dir/S/B/A:-D“C:\Program.exe”)do(
“%%E”/卸载
)
如果在C:\
中有更多名为Program.exe的文件,所有文件都将被执行。为什么它会工作?该程序安装在不同PC的不同目录中,我需要搜索并启动卸载。到目前为止,它能够找到文件并启动它。它忽略了我通常在cmd C:\location\program.exe/uninstall中键入的“/uninstall”来删除该程序。抱歉,我没有意识到搜索功能没有运行该程序。我的错。有没有办法通过搜索运行该程序?为什么它会工作?该程序安装在不同PC的不同目录中,我需要搜索并启动卸载。到目前为止,它能够找到文件并启动它。它忽略了我通常在cmd C:\location\program.exe/uninstall中键入的“/uninstall”来删除该程序。抱歉,我没有意识到搜索功能没有运行该程序。我的错。有没有办法通过搜索运行程序?也许值得一提:其中
只在%path%
中的文件夹中查找,因此速度非常快dir
将向下搜索整个文件夹树(使用dir/s/b c:\program.exe
搜索整个驱动器),这也会在%path%
之外找到结果,但可能需要在一个大的、满驱动器上喝一两杯咖啡…@Stephan,OP使用了
的/R
选项,因此,在这种情况下,dir
和where
是等效的……感谢您提供的解决方案,希望澄清C:\program.exe如何在C:\?如果我想在C:\windows中搜索program.exe是否也是C:\windows\program.exe?如果指定where/R“C:\windows”“program.exe”
或dir/S/B/A:-D“C:\windows\program.exe”
,文件program.exe
将在C:\windows
或任何子目录中找到,例如,类似于C:\WINDOWS\System32
,但如果它位于C:\TEMP
,则找不到它。也许值得一提的是:其中
只在%path%
内的文件夹中查找,因此速度相当快dir
将向下搜索整个文件夹树(使用dir/s/b c:\program.exe
搜索整个驱动器),这也会在%path%
之外找到结果,但可能需要在一个大的、满驱动器上喝一两杯咖啡…@Stephan,OP使用了
的/R
选项,因此,在这种情况下,dir
和where
是等效的……感谢您提供的解决方案,希望澄清C:\program.exe如何在C:\?如果要在C:\windows中搜索program.exe是否也是C:\windows\program.exe?如果指定where/R“C:\windows”“program.exe”
或dir