如何在cmd中运行多个命令

时间:2015-03-04 08:29:26

标签: windows 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\1. Gruppemeeting\ToDo.docx" & "C:\Program Files (x86)\Microsoft Office\Office14\POWERPNT.exe" "D:\Files\Presaentationen\1. Gruppemeeting\Presentation_Englisch.pptx"

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

非常感谢。

2 个答案:

答案 0 :(得分:0)

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

但你可以使用

start /wait SomeGuiApp

迫使cmd等待。

但是你似乎有相反的问题:它可能是&。它被设计用于有条件地执行一个动作,该动作取决于前一个的返回值。但是返回值对于GUI应用程序并没有多大意义。

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

请记住,通过命令扩展,您可以使用括号在if等控制下拥有多行。

答案 1 :(得分:0)

"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开关添加到以这种方式启动的最后一个可执行文件,否则将执行以下命令(您可能不需要)

此外,批处理将在wait ed应用程序终止时继续,因此

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可能为空,但不应省略(即。如果需要,请使用"",但不要忽略此元素)