1

如果我在名为的批处理文件中执行以下操作test

echo number=0 > file

并运行它:

> test
> echo number=0  1> file

file包含:

number=0␣

如果我test改为:

echo number=1> file

并运行它:

 > test
 > echo number= 1>file

file包含:

number=

1显然被解释为stdout 句柄,这是可以理解的。

如果我test改为:

echo number=0> file

- 并2分别9- 并运行它:

 > test
 > echo number= 0>file
 number=

the02to9显然被解释为非stdout 句柄并且file是空的,这也是可以理解的。

和:

echo "number=1"> file

file包含:

"number=1"

和:

echo (number=1)> file

file包含:

(number=1)
4

1 回答 1

6

在编写问题时,我在如何避免将尾随空格写入文本文件中将 ECHO 输出重定向到文件中找到了答案?

将重定向放在命令前面,例如:

> file echo number=0

或者,正如斯蒂芬评论的那样,将完整的命令分组,而不仅仅是参数:

(echo number=0) > file

(恕我直言,使用括号/括号对表达式进行分组的标题有点遗漏。这是命令和表达式进行分组,不是吗?)

于 2016-06-09T16:01:06.583 回答