我创建了一个类似于
的启动bat文件 taskkill /im RemoteDesktopManager.exe
C:\Users\kheradmand\AppData\Local\Google\Chrome\Application\chrome.exe
"C:\Program Files (x86)\JetBrains\PhpStorm 7.1.2\bin\PhpStorm.exe"
"C:\Program Files\Mozilla Firefox\firefox.exe"
它完成第一个和第二个,但不会再继续,它们都存在
我该如何解决这个问题?
更新:我尝试了@ phd443322提供的建议并写了这个:
taskkill /im RemoteDesktopManager.exe
start "" /w C:\Users\kheradmand\AppData\Local\Google\Chrome\Application\chrome.exe
start "" /w "C:\Program Files (x86)\JetBrains\PhpStorm 7.1.2\bin\PhpStorm.exe"
start "" /w "C:\Program Files\Mozilla Firefox\firefox.exe"
有趣的是,每个命令仍然等待该程序关闭以继续下一个程序。
那为什么还不行?
答案 0 :(得分:1)
与交互式文件不同,批处理文件等待程序退出。这些是“开始”命令中记录的规则。
如果启用了命令扩展,则为外部命令调用 通过命令行或START命令更改如下:
非可执行文件可以通过它们的文件关联来调用 通过键入文件的名称作为命令。 (例如,WORD.DOC会 启动与.DOC文件扩展名关联的应用程序。 有关如何创建这些命令,请参阅ASSOC和FTYPE命令 来自命令脚本的关联。
执行32位GUI应用程序的应用程序时,CMD.EXE 在返回之前不会等待应用程序终止 命令提示符。如果执行,则不会发生此新行为 在命令脚本中。
执行第一个标记为字符串" CMD"的命令行时 没有扩展或路径限定符,那么" CMD"被替换为 COMSPEC变量的值。这可以防止拾取CMD.EXE 从当前目录。
执行第一个令牌不包含的命令行时 扩展,然后CMD.EXE使用PATHEXT的值 环境变量,用于确定要查找的扩展名 以什么顺序PATHEXT变量的默认值 是:
.COM;.EXE;.BAT;.CMD
Notice the syntax is the same as the PATH variable, with
semicolons separating the different elements.
搜索可执行文件时,如果任何扩展名都不匹配, 然后查看名称是否与目录名称匹配。如果确实如此,那就是 START命令在该路径上启动Explorer。如果完成了 命令行,它相当于对该路径执行CD / D.
答案 1 :(得分:1)
下面有一个正常工作的批处理文件,首先由phd443322建议:
taskkill /im RemoteDesktopManager.exe
start "" C:\Users\kheradmand\AppData\Local\Google\Chrome\Application\chrome.exe
start "" "C:\Program Files (x86)\JetBrains\PhpStorm 7.1.2\bin\PhpStorm.exe"
start "" "C:\Program Files\Mozilla Firefox\firefox.exe"