【发布时间】:2018-10-03 17:23:37
【问题描述】:
我需要将 start 命令的输出重定向到 log.txt 文件(例如在路径错误的情况下),而不是它启动的进程。因为如果process.exe运行时间较长,下一个输出就不能写入日志文件了,因为它被进程锁住了。
start "" "path\to the\process.exe" >> log.txt 2>&1
echo next output >> log.txt
【问题讨论】:
-
你用过你贴的START命令行吗?除了显示的 GUI 错误消息提示之外,它还将 START 输出的错误消息写入文件
log.txt。有必要使用^转义每个重定向运算符>和&,以免被解释为当前命令进程中命令START 的输出重定向。 -
我当然试过了。出错时,成功重定向到log.txt。但是当它找到进程并运行它时,进程的输出也被重定向,这是我不想要的。
-
当我尝试按照您告诉我的方式调整线路时(开始“”“path\to the\process.exe”^>^> log.txt 2^>^&1),过程是没有被重定向(这很好),但错误消息也没有重定向到日志文件。我错过了什么吗?
-
我无法重现您的问题。启动的过程不会阻止我手中的下一个回声。启动的进程也不会写入日志。请提供有关您的流程的更多信息,并确保您告诉我们您正在使用的所有 START 参数。如果可能的话,您应该向我们提供您正在使用的确切起点。
-
谈论这一行:start "" "path\to the\process.exe" ^>^> log.txt 2^>^&1 我想要实现的是,当 PATH 到进程写入错误或只是进程.exe不存在,将输出错误消息重定向到log.txt文件。因为现在,它会将错误消息写入控制台窗口。
标签: batch-file output-redirect