如何在 cmd.exe 中将 stderr 重定向到 null

Posted

技术标签:

【中文标题】如何在 cmd.exe 中将 stderr 重定向到 null【英文标题】:How to redirect stderr to null in cmd.exe 【发布时间】:2011-05-29 06:48:19 【问题描述】:

我有一个应用程序向 stderr 记录了很多噪音,并且确实减慢了应用程序的执行速度。我想将该输出重定向为空。 cmd.exe 可以吗?

【问题讨论】:

像这样:命令 2> nul 另见超级用户:> /dev/null for Windows 我想完全静音命令(stdout 和 stderr)做@command > nul 2>&1 【参考方案1】:
Your DOS command 2> nul

阅读页面Using command redirection operators。除了 Tanuki Software 提到的“2>”结构外,它还列出了一些其他有用的组合。

【讨论】:

然而,跟随的行为几乎与某些人所期望的相反copy foo.txt con >> bar 2>nul。 bar 将包含文本复制的一个文件,控制台将包含 foo.txt 的内容。 @Mawg 我不这么认为。这可能是特定于您的使用场景的东西。恰当的例子:@for /L %C in (1,1,10) do @type nonexistent 2> nul 确实产生十个空行。 @PatrickFromberg 那是因为con 不是 STDOUT 的同义词;它是一个与实际控制台关联的伪文件,因此不受重定向的影响。有点类似于 Linuxish (cat /proc/version > /dev/tty) > bar:外部重定向不会影响内部重定向。 @SamHabiel 不是真的。问题是关于stderr 参考页面在这里:technet.microsoft.com/en-us/library/bb490982.aspx

以上是关于如何在 cmd.exe 中将 stderr 重定向到 null的主要内容,如果未能解决你的问题,请参考以下文章

如何将 stderr 重定向到文件?

如何从 Raspbian 上的 systemd 服务正确重定向 stdout/stderr?

捕获程序 stdout 和 stderr 以分隔变量

如何在实时输出的同时将命令的 stdout 和 stderr 重定向到控制台和日志文件?

将stdout和stderr重定向到一个文件,也重定向到linux中的控制台[重复]

如何将stdout和stderr都重定向到文件[重复]