回声附加到文本文件

Echo appending to a text file

因此,当我将批处理文件中的文本回显到文本文件时,我可以毫无问题地转义特殊字符。但是,当我回显某个字符组合时,我似乎找不到解决它只是回显到屏幕而不是文件这一事实的方法。

这是有效的...

echo firsttest^=uncpath>>test.txt
echo [secondtest]>>test.txt

这是行不通的...

echo thirdtest^=1>>test.txt
echo fourthtest^=2>>test.txt

我试过转义一个和两个箭头字符,但还是不行。

有什么建议吗?我确定它与使用“1>”和“2>”的控制台输出的标准重定向有关,但不知道如何解决这个问题。

谢谢。

您的分析是正确的。有两个主要概念可以解决它:

(echo thirdtest=1)>>test.txt
(echo fourthtest=2)>>test.txt

>>test.txt echo thirdtest=1
>>test.txt echo fourthtest=2

(注意:= 不是需要转义的特殊字符之一)

将重定向放在行中的什么位置并不重要,如 运行 echo on 所示。 (如果您喜欢混淆,请输入 echo hello>file.txt world,然后输入 type file.txt

另请注意:如果您 echo 多行,则速度更快:

(
  echo first line
  echo second line
  echo third line
)>>test.txt

(原因:只需要一次磁盘访问(read/modify/write)而不是对每一行都做同样的事情)你不会只用三行就注意到它,但是想想写几百行(对于循环中的示例)。节省的时间将是巨大的。