如何在DOS下将标准错误传递给文件(批处理文件)?

时间:2012-02-21 13:49:22

标签: winrar redirectstandardoutput standard-error

如何将标准错误传递给DOS批处理文件中的文件?使用>>管道只管道标准输出,标准错误仍然会进入控制台。

我的问题详情:

我在自动日常备份中通过命令行运行WinRAR。以下示例将WinRar的输出(而不是我最想要的错误输出)传递给winraroutput.txt

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

问题是有时文件正在使用中,我们想知道它们在存档中被遗漏并将其记录在每个.txt文件旁边的.rar文件中,以防我们有回去。重新安装程序很容易取代丢失的文件,因此只要我们知道它们丢失,替换它们就没什么大不了的。因此,在需要的时候,只需要知道,而不是必要的信息。

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

奖励积分:

如果您可以告诉我如何删除该文件(如果没有错误),可以告诉我如何删除奖励积分!在这里问:How do I Detect (and Delete) a File if it is Empty using a Windows Batch File?

1 个答案:

答案 0 :(得分:3)

试试这个:

   command.exe 2>file.txt

或者,如果您不想看到任何错误,请将其发送给nul:

   command.exe 2>nul

这应该在控制台上留下std :: cout。