我正在尝试在.bat
文件中编译一个非常简单的命令。
whoami > "Desktop/laptop.txt"
但是,当我运行它时,cmd.exe
将其解释为:
whoami 1> "Desktop/laptop.txt"
由于在1
之前添加的>
数量,这是无效的。该命令无法运行。
我找不到办法让这个号码1
消失。
为了得出结论,在命令行解释器中,如果它们是单独的,则将>
(重定向字符)和>>
(追加字符)分别解释为1>
和1>>
,例如, echo sth > filename
或echo sth >> filename
。
那是因为数字句柄如下:
0
重定向/将STDIN附加到指定的位置。1
重定向/将STDOUT附加到指定的位置。2
未定义因此,当您键入命令时:
3-9
解释器无法理解它并自动使它成为whoami > "Desktop/laptop.txt"
因为它假设你想将STDOUT重定向到1> ...
。
查看一些有趣的链接以进一步阅读: