如何在cmd中运行多个命令

How to run multiple commands in cmd

我正在尝试将批处理文件写入 运行 几个 WORD 和 POWERPOINT 文件,如下所示:

"C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" "D:\Files\Literature\Literature Review\Literature-Review.docx" & "C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" "D:\Files\Literature\Literature Review\outline.docx" & "C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" "D:\Files\Literature\Questions to be asked\Questions to be asked.docx" & "C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" "D:\Files\Presaentationen. Gruppemeeting\ToDo.docx" & "C:\Program Files (x86)\Microsoft Office\Office14\POWERPNT.exe" "D:\Files\Presaentationen. Gruppemeeting\Presentation_Englisch.pptx"

问题是只有第一个文件打开。如果我关闭它,下一个打开,依此类推。但我想同时打开它们。我应该怎么办? (OS 是 Windows 7)

非常感谢。

cmd 运行 是 GUI 应用程序时,它不会等待它完成。 (应用程序是窗口化的 (GUI) 还是控制台由其 exe 文件中的标志决定。)

但是你可以使用

start /wait SomeGuiApp

强制cmd等待。

但是您似乎遇到了相反的问题:可能是 &。它旨在根据前一个的 return 值有条件地执行一个操作。但是 return 值对于 GUI 应用程序没有真正意义。

为什么不 运行 它们作为单独的命令:在 cmd 脚本的不同行或用分号分隔 (IIRC)。

请记住,使用命令扩展,您可以使用括号让多行受 if 等控制

"C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" "filename1" "filename2" ...

应该在 winword 中打开每个文件。

如果您还想打开 powerpoint,则需要 start 每个可执行文件

start "windowtitle" "C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" "filename1" "filename2" ...
start "windowtitle" "C:\Program Files (x86)\Microsoft Office\Office14\POWERPNT.exe "filename3"

但是 你需要将 /w 开关添加到你以这种方式启动的最后一个可执行文件,否则将执行以下命令(你可能不希望)

此外,批处理将在 waited 应用程序终止时继续进行,因此

start "windowtitle" "C:\Program Files (x86)\Microsoft Office\Office14\WINWORD.EXE" "filename1" "filename2" ...
start /w "windowtitle" "C:\Program Files (x86)\Microsoft Office\Office14\POWERPNT.exe "filename3"

会等到 powerpoint 退出后再继续,不管 winword 是否仍然打开。

windowtitle 可以为空,但不应省略(即如果需要,请使用 "",但不要遗漏此元素)