【问题标题】:Why i am getting "< was expected at this time error" while calling the windows command "echo "<?xml version="1.0" encoding="UTF-8"?>" > tmp.xml"为什么我在调用 windows 命令“echo”<?xml version="1.0" encoding="UTF-8"?>" > tmp.xml" 时收到“< was expected at this time error”
【发布时间】:2016-07-23 09:03:01
【问题描述】:

我正在尝试使用以下 Windows 命令将行 &lt;?xml version="1.0" encoding="UTF-8"?&gt; 添加到 tmp.xml

echo <?xml version="1.0" encoding="UTF-8"?> > tmp.xml

我收到一个错误:

>was expected at this time

我试过用双引号:

echo "<?xml version="1.0" encoding="UTF-8"?>" > tmp.xml

这会在文件中写入&lt;?xml version="1.0" encoding="UTF-8"?&gt; 行,但在双引号内。

【问题讨论】:

    标签: xml windows batch-file utf-8


    【解决方案1】:

    您可能想尝试在保留字符(例如&lt;&gt;)之前使用^ 作为转义字符。

    Microsoft Windows [Version 10.0.10586]
    (c) 2015 Microsoft Corporation. All rights reserved.
    
    C:\Users\topdog>echo ^<?xml version="1.0" encoding="UTF-8"?^> > tmp.xml
    
    C:\Users\topdog>type tmp.xml
    <?xml version="1.0" encoding="UTF-8"?>
    
    C:\Users\topdog>
    

    【讨论】:

    • 回答一个明显的后续问题(有明显的答案:)),如果你想做一些事情,比如回显一个实际的 ^ 字符,然后像这样把它们中的两个放在一起:echo Ten to the power of two = 10^^2 结果在此显示:Ten to the power of two = 10^2
    【解决方案2】:

    你不能像这样嵌套引号。 "one "two" three" 包含不带引号的字符串 two 被两个带引号的字符串括起来,其中没有一个包含实际的文字 " 字符。

    【讨论】:

    • 由于 XML 是引号无关紧要的,只需在外部双精度内的任何地方使用单引号即可。
    猜你喜欢
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 2013-10-13
    • 2011-05-20
    相关资源
    最近更新 更多