如何将Windows批处理文件中从0到9的数字回显到没有尾随空格的文件?

时间:2016-06-09 15:57:45

标签: batch-file echo handle spaces trailing

如果我在名为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 handle,这是可以理解的。

如果我将test更改为:

echo number=0> file
分别为

- 和29 - 并运行它:

 > test
 > echo number= 0>file
 number=

029显然被解释为非stdout handlesfile为空,这是可以理解的,太

使用:

echo "number=1"> file

file包含:

"number=1"

使用:

echo (number=1)> file

file包含:

(number=1)

1 个答案:

答案 0 :(得分:3)

在撰写问题时,我在How to avoid writing trailing spaces into text file on redirecting ECHO outputs to a file?找到答案:

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

> file echo number=0

或者,如Stephan所评论,group完整的命令,而不仅仅是参数:

(echo number=0) > file

(标题Using parenthesis/brackets to group expressions错过了一点,恕我直言。它分组命令和表达式,不是吗?)