如何在DOS下将标准错误管道传输到文件(批处理文件)



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

我的问题详细信息:

我正在通过命令行运行WinRAR,在一个自动化的日常备份。下面的示例将WinRar的输出(但不是我最想要的错误输出)管道传输到winraroutput.txt:

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

问题是,有时文件正在使用中,当它们在使用时,我想知道它们在归档中丢失了,并将其记录在每个.rar文件旁边的.txt文件中,以防我们不得不返回。丢失的文件很容易通过重新安装程序来替换,所以替换它们没什么大不了的,只要我们知道它们丢失了。因此,这只是在需要的时候知道的信息,而不是必要的。

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

奖励积分:

如果你能告诉我如何删除空白的文件(没有错误),将获得额外积分!此处询问:如何使用Windows批处理文件检测(和删除)为空的文件?。

试试这个:

   command.exe 2>file.txt

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

   command.exe 2>nul

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

相关内容

  • 没有找到相关文章

最新更新