2011-09-15 97 views
8

我試圖從一個批處理文件運行多個後臺進程,並有指向一個文件的輸出。有沒有可能在Windows中做到這一點?這是我做過嘗試,但它最終會引導啓動程序的輸出而不是後臺進程。後臺進程與重定向輸出

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

順便說一句,這是*不* DOS。 –

回答

6

我認爲你唯一的機會是爲每個你想啓動的exe文件創建一個批處理文件。在批處理文件中,您可以重定向輸出。主批處理文件然後將「啓動」批處理文件,而不是直接的exe文件。

你只需要包括在每一個批處理文件的最後一個exit命令:

start_myapp.cmd包含以下內容:

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

,那麼你可以運行

start start_myapp.cmd 

和輸出將被重定向

+0

+1,你的回答比我快10秒... – jeb

+0

其實你不需要幫助文件:-)看[我的回答](http://stackoverflow.com/a/11712561/1012053) – dbenham

9

其實這沒有使用幫助器批處理文件很容易。你只需要通過運行cmd.exe的應用程序,而不是,並確保讓他們通過到CMD.EXE逃跑的特殊字符。

你可能不希望看到一個額外的控制檯窗口,所以使用START/B選項。

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

每個開始的進程必須將其輸出定向到唯一文件。多個進程不能共享相同的輸出文件。

相關問題