批处理脚本中添加了额外字符

时间:2010-06-18 21:56:40

标签: windows-xp batch-file

所以,我想我可能会疯了。这个批处理脚本:

@Echo on
dir > dir.txt

在运行它的控制台上生成以下内容:

dir  1>dir.txt

我希望看到简单的dir> DIR.TXT。任何想法为什么会这样?这是在标准命令提示符下的Windows XP SP2上。

2 个答案:

答案 0 :(得分:3)

1是标准输出的file descriptor。因此,这两个命令是等效的。

作为旁注,您可以通过重定向描述符2来重定向错误,如下所示:

myCommand 1>goodoutput.txt 2>errors.txt

关于重定向here可以做些什么的很好的总结。

答案 1 :(得分:0)

您的重定向运算符(>)实际上是将命令输出发送到stdout(标准输出)。 “1”是stdout处理程序。

你也可以管道到stderr(错误输出);就像在UNIX中使用“2”处理程序一样。

e.g myprogram.exe>> myoutput.txt 2>& 1

有关详细信息,请参阅Command Redirection