假设在一个批处理文件中,我想异步执行myCommand(无需等待它完成)。而且我不想在新的控制台窗口中执行myCommand。

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

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

START myCommand > output.txt

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

如果我写
myCommand > output.txt

那么我就不能异步执行它。

我有什么办法可以满足这三个要求? (异步,没有新窗口,重定向输出)

谢谢!

最佳答案

我尚未对其进行全面测试,但是我认为这可能有效:

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

10-04 13:37