批处理:如何仅显示控制台输出中的错误(即将 STDOUT 重定向到 NUL 并将 STDERR 重定向到 CON)?

批处理:如何仅显示控制台输出中的错误(即将 STDOUT 重定向到 NUL 并将 STDERR 重定向到 CON)?

我正在想办法仅有的控制台输出上的错误(并抑制所有其他输出)而无需重定向到文件或使用 TEE 等。除了调用函数之外,我还试图让它适用于单个命令(CALL :FunctionName arg1 arg2)。

我觉得自己像个白痴,无法弄清楚这一点,但我在网上找不到任何可以工作的例子,而且我使用过的重定向组合都没有起作用。

如何重定向STDOUT>NUL并同时重定向STDERR>CON? 只需使用 吗>NUL

似乎有些错误消息会出现在 STDOUT 流中(例如SC query BadServiceName),具体取决于控制台应用程序的编写方式。这是准确的评估吗?

答案1

我如何才能重定向STDOUTNUL并重定向STDERRCON

program 1>nul

将 stdout 重定向为 nul。这不会重定向stderr输出,应该转到控制台...

如果program还写入错误,stdout那么使用简单的重定向您就没有运气了。

命令重定向,管道 - Windows CMD - SS64.com

相关内容