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

标签 windows asynchronous batch-file cmd

假设在批处理文件中,我想异步执行 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

关于windows - 在将输出重定向到批处理文件中的文件时异步执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14534244/

相关文章:

c++ - 为什么在使用 Unix 和 Windows 系统的 C++ 中声明指针时会出现这种行为?

c++ - 无法在Windows上构建PROJ-sqlite3的链接器错误

javascript - 测试包含异步代码的函数

c# - 如何维护和返回任务的进度?

javascript - 如何同步(以编程方式)运行 Grunt 任务?

windows - 通过命令提示符只获取以太网 MAC 地址

linux - 在 Linux 中使用 WebSphere MQ 的默认 CCSID 连接到 Windows 中的客户端应用程序

windows - 使批处理文件将单词分隔到不同的行

batch-file - BAT文件: Open new cmd window and execute a command in there

batch-file - 等待多个应用程序从批处理文件异步运行完成