2012-02-06 40 views
10

我试图从Windows中的批处理文件运行一些控制台应用程序的.exe文件。从批处理文件启动多个控制台应用程序

然而,当我运行下面的代码只启动第一个应用程序:

"C:\Development\App\bin\Debug1\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug2\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug3\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug4\Application.exe" 
timeout 5 
"C:\Development\App\bin\Debug5\Application.exe" 
timeout 5 

(我已经包括了超时摊开INTIAL处理位)

有一种让脚本文件启动第一个应用程序的方法,然后继续并启动其他应用程序?

理想情况下,我希望脚本文件启动子目录中的所有应用程序,以便如果我有Debug\Applications\*.exe或类似的文件,它将启动类型为.exe的所有应用程序(并可能在每个应用程序之间等待5秒钟)。这可能吗?

回答

22

您可以通过使用start在后台启动应用程序:

start "C:\Development\App\bin\Debug1\Application.exe" 

使用start /?从命令窗口来获得进一步的细节。

例如,

start dir 

将打开一个新的命令窗口,告诉你一个目录列表,让finsished当它打开。

的:

start cmd /c "ping 127.0.0.1 && exit" 

命令将打开一个新窗口,运行在本地主机上一个四冲程平然后退出。

在这两种情况下,当前窗口将立即等待下一个命令。

+0

谢谢,刚刚发现这在http://stackoverflow.com/questions/324539/how-can-i-run-a-program-from-a-batch-file-without-having-the -console-open-after也。关于批处理文件中的动态加载的任何想法? – finoutlook 2012-02-06 13:08:07

+0

START命令将第一个参数解释为窗口标题,所以您需要指定一个标题,如'start“”“C:\ Development \ App \ bin \ Debug1 \ Application.exe” – dbenham 2016-12-30 16:06:00

5
@echo off 
for %%F in ("Debug\Applications\*.exe") do (
    start "" "%%F" 
    timeout 5 
) 
+0

感谢这很有帮助。我已经向其他用户提供了接受的答案,因为它回答了我的第一个问题,所以我可以做的最好的是赞成。 – finoutlook 2012-02-06 16:48:27

相关问题