下午好,
我想使用CMD批处理文件将最简单的标记添加到文件中,但似乎双引号破坏了聚会:
从其他StackOverflow帖子我知道双引号状态机和^"的用法(^作为转义字符)。我仍然无法使其发挥作用:
我的尝试(结果):
C:\>echo <tag variable="value"> // very naïve
The syntax of the command is incorrect.
C:\>echo "<tag variable="value">" // let's use quotes for delimiting the string
"<tag variable="value">"
C:\>echo "<tag variable=^"value^">" // let's use the escape character
The system cannot find the path specified.
C:\>echo "<tag variable=^"value^"> // what if the state machine is not switched back?
The syntax of the command is incorrect.
C:\>echo "<tag variable=^"value"> // desperate people do weird things :-)
"<tag variable=^"value">
我还使用标记字符前面的转义字符进行了一些测试&lt;和&gt; (因为那些在CMD中有其自身的意义)但也没有好的结果
首先将条目放在变量(set test="..."
)中并不能解决问题
如上所述,我越来越绝望了。我唯一想做的就是将其写入文本文件:
<tag variable="value">
有人可以帮帮我吗? 提前致谢
答案 0 :(得分:3)
您想要转义的字符不是"
,而是<
然后正确的语法就是这个:
C:\>echo ^<tag variable="value"^>
答案 1 :(得分:1)
你不应该使用“\”字符来逃避双引号吗? 像“echo”&lt; tag blabla = \“value \”&gt;“?
修改
似乎:
echo ^<tag variable=^"value^"^>
工作正常!
答案 2 :(得分:0)
setlocal enableDelayedExpansion
set "tag_line=<tag variable="value">"
echo !tag_line!