如何在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
开关添加到你以这种方式启动的最后一个可执行文件,否则将执行以下命令(你可能不希望)
此外,批处理将在 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
可以为空,但不应省略(即如果需要,请使用 ""
,但不要遗漏此元素)
我正在尝试将批处理文件写入 运行 几个 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
开关添加到你以这种方式启动的最后一个可执行文件,否则将执行以下命令(你可能不希望)
此外,批处理将在 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
可以为空,但不应省略(即如果需要,请使用 ""
,但不要遗漏此元素)