命令行输出不redirect到文件。

很简单:

打开一个控制台,然后键入

mkdir abc > output.txt

它会创build一个名为output.txt的文件,该文件是空的。

现在重复

mkdir abc > output.txt

这显示在命令窗口上:

A subdirectory or file abc already exists

但不会输出到txt。

为什么?

您将标准输出重定向到您的文件; 错误通常是标准错误报告,这是一个不同的输出流。 要重定向标准错误,可以这样做:

 mkdir abc 2> output.txt 

或者,如果你想把两个流结合起来,

 mkdir abc 2>&1 >output.txt 

更多细节在这里 。

这将静静地创建一个文件夹,如果它存在与否。

 mkdir abc 2>nul 

因为第二个调用的mkdir的输出是stderr而不是stdout。