异步执行命令,同时将输出重定向到批处理文件中的文件?

时间:2013-01-26 05:43:04

标签: windows asynchronous batch-file cmd

让我们说在批处理文件中,我想异步执行 myCommand (无需等待它完成)。我不想在新的控制台窗口中执行 myCommand

同时,我想将 myCommand 的输出重定向到output.txt

所以在批处理文件中,如果我写

START myCommand > output.txt

output.txt将为空,我将看到一个新窗口。

如果我写

myCommand > output.txt

然后我无法异步执行它。

有什么方法可以达到所有这三个要求吗? (异步,没有新窗口,重定向输出)

谢谢!

2 个答案:

答案 0 :(得分:4)

我还没有完全测试过,但我认为这可能有用:

start /b "" myCommand >output.txt

我相信这两种形式都可以正常工作 - 唯一的区别是如果重定向standard error并且START无法启动myCommand。

重定向START:myCommand和START输出都被重定向到文件。

start /b "" myCommand >output.txt >2&1

仅重定向myCommand:仅重定向myCommand输出。屏幕上将显示任何START错误消息。请注意,我选择转义重定向而不是using quotes like jeb

start /b "" myCommand ^>output.txt ^>2^&1

答案 1 :(得分:1)

几乎像dbenhams一样回答,但你需要强制重定向到新线程,而不是start命令。

start "myTitle" "myCommand > output.txt"