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

问题描述 投票:0回答:1

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

whoami > "Desktop/laptop.txt"

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

whoami 1> "Desktop/laptop.txt"

由于在1之前添加的>数量,这是无效的。该命令无法运行。

我找不到办法让这个号码1消失。

batch-file cmd
1个回答
1
投票

为了得出结论,在命令行解释器中,如果它们是单独的,则将>(重定向字符)和>>(追加字符)分别解释为1>1>>,例如, echo sth > filenameecho sth >> filename

那是因为数字句柄如下:

  • 0重定向/将STDIN附加到指定的位置。
  • 1重定向/将STDOUT附加到指定的位置。
  • qazxsw poi重定向/将STDERR附加到指定的某个地方
  • 2未定义

因此,当您键入命令时:

3-9

解释器无法理解它并自动使它成为whoami > "Desktop/laptop.txt" 因为它假设你想将STDOUT重定向到1> ...

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

© www.soinside.com 2019 - 2024. All rights reserved.