让我们说在批处理文件中,我想异步执行 myCommand (无需等待它完成)。我不想在新的控制台窗口中执行 myCommand 。
同时,我想将 myCommand 的输出重定向到output.txt
所以在批处理文件中,如果我写
START myCommand > output.txt
output.txt将为空,我将看到一个新窗口。
如果我写
myCommand > output.txt
然后我无法异步执行它。
有什么方法可以达到所有这三个要求吗? (异步,没有新窗口,重定向输出)
谢谢!
答案 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"