如何在 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的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Raspbian 上的 systemd 服务正确重定向 stdout/stderr?
如何在实时输出的同时将命令的 stdout 和 stderr 重定向到控制台和日志文件?