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