因此,当我将批处理文件中的文本回显到文本文件时,我可以毫无问题地转义特殊字符。但是,当我回显某个字符组合时,我似乎无法找到一种方法来解决它只是回显到屏幕而不是文件的事实。
这是有效的...
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
(原因:只需要一次磁盘访问(读/修改/写)而不是对每一行都做同样的事情)你不会只用三行就注意到它,但想想写数百行(例如在循环中) . 节省的时间将是巨大的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句