非阻塞批处理文件执行

时间:2011-09-03 19:04:03

标签: batch-file

我在批处理文件中有以下命令:

"C:\MI2\Stream\bin\Debug\Stream.exe" 19
"C:\MI2\Stream\bin\Debug\Stream.exe" 20
"C:\MI2\Stream\bin\Debug\Stream.exe" 21
"C:\MI2\Stream\bin\Debug\Stream.exe" 23
"C:\MI2\Stream\bin\Debug\Stream.exe" 25

我正在尝试执行我创建的应用程序的5个实例,并为每个实例传递一个不同的参数。我的目标是当我运行这个批处理文件时,它会启动这个应用程序的5个实例,为每个实例加载一个UI组件。最终我会使这个更优雅,并在这周围放置一个包装应用程序,但是现在我只想让它们同时运行。

问题是,当我启动这个批处理文件时,它执行第一行,加载UI。而已。它不会移动到第二行。想法?

编辑添加 - 我当然可以从单独的批处理文件中执行此操作,但我希望一键启动。 斯科特

3 个答案:

答案 0 :(得分:16)

您可以使用start

start "" "C:\MI2\Stream\bin\Debug\Stream.exe" 19
start "" "C:\MI2\Stream\bin\Debug\Stream.exe" 20
start "" "C:\MI2\Stream\bin\Debug\Stream.exe" 21
start "" "C:\MI2\Stream\bin\Debug\Stream.exe" 23
start "" "C:\MI2\Stream\bin\Debug\Stream.exe" 25

第一个参数是创建的命令行窗口的标题,我们不关心它,所以它可以留空。

更好的方法是使用for

forr %i in (19, 20, 21, 23, 25) do start "" "C:\MI2\Stream\bin\Debug\Stream.exe" %i

答案 1 :(得分:2)

start C:\MI2\Stream\bin\Debug\Stream.exe 19
start C:\MI2\Stream\bin\Debug\Stream.exe 20

答案 2 :(得分:2)

使用开始:

start C:\MI2\Stream\bin\Debug\Stream.exe 19
start C:\MI2\Stream\bin\Debug\Stream.exe 20
start C:\MI2\Stream\bin\Debug\Stream.exe 21
start C:\MI2\Stream\bin\Debug\Stream.exe 23
start C:\MI2\Stream\bin\Debug\Stream.exe 25