2012-02-21 79 views
0

如何将标准错误传输到DOS批处理文件中的文件?使用>>的管道仅传输标准输出,而标准错误仍会传送到控制台。我的问题如何将标准错误导入DOS(批处理文件)中的文件?

详情:

我通过命令行运行WinRAR的,在自动化的日常备份。而下面的例子管道WinRAR的输出,而不是错误输出这是我最想要的,到winraroutput.txt

RAR.exe a -esh -r "E:\backup.rar" "D:\*.*" >> winraroutput.txt 

的问题是,有时文件正在使用,当他们是我想知道他们在被漏诊归档并将其记录在每个.rar文件旁边的.txt文件中,以防万一我们必须回去。丢失的文件很容易被重新安装程序取代,所以替换它们没什么大不了的,只要我们知道它们丢失了。所以这只是需要知道的信息,并非必要。

如何仅将标准错误输出输出到.txt文件,并且如果可能但不是必需,则将常规输出保留到控制台?

加分点:

奖励积分,如果你能告诉我怎么删除该文件,如果它是空白(没有错误)!在这里问:How do I Detect (and Delete) a File if it is Empty using a Windows Batch File?

回答

3

试试这个:

command.exe 2>file.txt 

或者,如果你不希望看到任何错误,它发送到NUL:

command.exe 2>nul 

这应该离开的std ::法院在控制台上。

+0

非常好。这是答案。谢谢。由于StackOverflow对我的不安全性,我必须等5分钟才能表明这一点。 :) – Xonatron 2012-02-21 13:59:25

+0

奖励积分,如果你能告诉我如何删除文件,如果它是空白的! :) – Xonatron 2012-02-21 14:01:49