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


122

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


23
像这样:命令2> nul
Naytzyrhc 2010年

3
你能回答这个问题吗?它的工作很棒!
伊格纳西奥·索勒·加西亚

2
另请参阅超级用户:> / dev / null for Windows
hippietrail 2013年

我要完全让命令(stdout和stderr)保持静音@command > nul 2>&1
kofifus

Answers:


171
Your DOS command 2> nul

阅读页面使用命令重定向运算符。除了Tanuki Software提到的“ 2>”结构外,它还列出了一些其他有用的组合。


1
然而,跟随将几乎与某些人的预期相反copy foo.txt con >> bar 2>nul。栏将包含一个文件复制的文本,控制台将包含foo.txt的内容。
Patrick Fromberg 2014年

1
@Mawg我认为不行。这可能是特定于您的使用场景的。案例分析:@for /L %C in (1,1,10) do @type nonexistent 2> nul没有没有制备十个空白行。
atzz

2
@PatrickFromberg那是因为con它不是STDOUT的代名词。它是与实际控制台关联的伪文件,因此不受重定向的影响。类似于Linuxish (cat /proc/version > /dev/tty) > bar:外部重定向不会影响内部重定向。
atzz

1
@SamHabiel不是。问题是关于stderr
atzz

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.