运行批处理文件时,在>或>>之前自动添加1

时间:2019-03-23 16:39:29

标签: batch-file cmd

我正在尝试在.bat文件中编译一个非常简单的命令。

whoami > "Desktop/laptop.txt"

但是,当我运行它时,cmd.exe将其解释为:

whoami 1> "Desktop/laptop.txt"

这是无效的,因为在1之前添加了数字>。该命令无法运行。

我找不到办法让这个数字1消失。

1 个答案:

答案 0 :(得分:1)

要总结注释中的内容,命令行解释器将>(重定向字符)和>>(附加字符)分别解释为1>1>>一个人,例如echo sth > filenameecho sth >> filename

这是因为数字句柄如下:

  • 0 STDIN 重定向/追加到指定的位置。
  • 1 STDOUT 重定向/附加到指定的位置。
  • 2 STDERR 重定向/附加到指定的位置
  • 3-9未定义

因此,当您键入命令时:

whoami > "Desktop/laptop.txt"

解释器无法自动理解并将其设置为1> ...,因为它假定您要将STDOUT重定向到Desktop/laptop.txt

查看一些有趣的链接以进一步阅读: