【问题标题】:How to escape characters in XML text when using Echo print to file [duplicate]使用 Echo 打印文件时如何转义 XML 文本中的字符[重复]
【发布时间】:2018-09-28 21:51:46
【问题描述】:

我正在尝试将以下行输出到 xml 文件。

我正在使用以下命令:

echo "<?xml version="1.0" encoding="utf-8"?>" >> MyFile.xml

唯一的问题是它在文件的开头和结尾包含引号,所以在我的文件中它看起来像这样:

"<?xml version="1.0" encoding="utf-8"?>"

而不是这个:

<?xml version="1.0" encoding="utf-8"?>

但如果我尝试在没有第一个和最后一个引号的情况下运行批处理文件,它会失败并显示&gt;&gt; was unexpected at this time.

所以...需要这些引号才能工作,但它会打印这些标记...有没有办法做到这一点?

【问题讨论】:

标签: shell batch-file command-line cmd command-prompt


【解决方案1】:

我假设你使用的是 windows,所以试试这个:

echo ^<?xml version="1.0" encoding="utf-8"?^> >> MyFile.xml

【讨论】:

  • 谢谢!这是正确的答案,效果很好!
【解决方案2】:

一种可能的解决方法是使用delayed expansion

@echo off
setlocal enableDelayedExpansion
set "xml_line=<?xml version="1.0" encoding="utf-8"?>"
echo !xml_line!
:::
endlocal

【讨论】:

    猜你喜欢
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    相关资源
    最近更新 更多