如何将标准错误传递给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?。
答案 0 :(得分:3)
试试这个:
command.exe 2>file.txt
或者,如果您不想看到任何错误,请将其发送给nul:
command.exe 2>nul
这应该在控制台上留下std :: cout。