窗口重定向错误在使用追加不起作用



我遇到了一个奇怪的问题,一定是我做错了什么。

使用 windows 命令行函数时,我知道可以使用 2> nul 重定向错误输出,但是当我尝试将输出附加到故意只读的文件时,它无法使用以下命令。

(echo dataExample) >> C:filename.txt 2> nul

我仍然看到"访问被拒绝"消息,我认为该消息将被重定向到nul

您的命令行将命令echo的错误输出重定向到设备NUL,这是无用的,因为此命令不会将某些内容打印到STDERR

要使用的命令行是:

(echo dataExample>>C:filename.txt) 2>nul

dataExample由附加到文件C:filename.txtecho输出。

如果目标文本文件有写保护,Windows 命令处理器会向STDERR输出错误消息。由于在执行用圆括号定义的命令块内的任何命令时对STDERR的任何输出都会重定向到设备NULL,因此该命令行将禁止显示此错误消息。

注:dataExample>>之间的空格也会写入文本文件中。因此,如果文本文件中不需要尾随空格,请不要指定>>的剩余空格。>>的空间权无关紧要。

最新更新