因此,当我将文件从批处理文件回显到文本文件时,我可以毫无问题地转义特殊字符。但是,当我回显一个特定的字符组合时,我似乎无法找到一种方法,它只是回显到屏幕而不是文件。
这是有效的......
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
(原因:只需要一次磁盘访问(读/修改/写入)而不是对每一行做同样的事情)你不会只用三行来注意它,但想想写几百行(例如在一个循环中) 。节省的时间将是巨大的。