具有重定向输出的批处理后台进程

时间:2011-09-15 21:30:20

标签: windows batch-file cmd

我正在尝试从批处理文件中运行多个后台进程,并将输出定向到文件。是否可以在Windows中执行此操作?这是我尝试过的,但它最终指向启动程序的输出而不是后台进程。

start myapp.exe > myapp.out 2>&1

2 个答案:

答案 0 :(得分:11)

实际上,如果不使用帮助程序批处理文件,则非常容易。您只需要通过cmd.exe运行应用程序,并确保转义特殊字符,以便它们传递给cmd.exe。

您可能不希望看到额外的控制台窗口,因此请使用START / B选项。

start /b "" cmd /c myapp.exe ^>myapp.out 2^>^&1

每个STARTed进程必须将其输出定向到唯一文件。多个进程无法共享相同的输出文件。

答案 1 :(得分:6)

我认为你唯一的机会就是为你想要启动的每个exe创建一个批处理文件。在批处理文件中,您可以重定向输出。然后,主批处理文件将“启动”批处理文件,而不是直接执行exe文件。

您只需在每个批处理文件的末尾包含exit命令:

start_myapp.cmd包含以下内容:

myapp.exe > myapp.out 2>&1
exit

然后你可以运行

start start_myapp.cmd 

,输出将被重定向