cmd.exe:标准输出,标准错误,标准内容?

时间:2019-11-26 11:15:57

标签: windows cmd command-line windows-console

我已经在Windows 10中的cmd.exe下执行了一个.bat文件,并将标准输出和标准错误重定向到了一个文件:

C:\MyFolder> Foo.bat 1>x.txt 2>&1

但是它仍然会在控制台窗口中打印一些行,并且这些行不会写入文件中。

  • 那怎么可能?这些行显示在什么输出上,哪个输出到控制台窗口?
  • 如何将这些行重定向到文件?

1 个答案:

答案 0 :(得分:0)

程序(包括.bat脚本)可以通过几种方式绕过stdout和stderr。

直接写到控制台窗口

在Windows上,它可以使用Console Handles直接写入控制台窗口。无法将其重定向到文件。

提供的链接指向使用C语言编写的Windows API,但是.bat脚本可以调用以另一种语言(jam,perl,pyton,java等)编写的程序,该语言可以具有自己的编写语法到控制台。

使用其他方法

...