【问题标题】:Add <li> to first and end of all lines of text file with batch script?使用批处理脚本将 <li> 添加到所有文本文件行的开头和结尾?
【发布时间】:2012-12-14 22:30:36
【问题描述】:

首先感谢您的关注。
我需要批处理脚本将&lt;li&gt; 添加到文本文件的所有行的开头和结尾 我用。

@echo off
set  h=<l>
setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (input.txt) do (
set /a N+=1
echo %h%^%%a^a>>output.txt
)

但它仅在 h=any text 时有效; 当h=&lt;li&gt;它 不工作! 请帮我。 谢谢

【问题讨论】:

    标签: text batch-file add


    【解决方案1】:

    使用

    set h=^<l^>
    

    ^ 是一个转义字符。这是必需的,因为&lt;&gt; 是特殊字符。它们在 CMD 中用于重定向文件的输入和输出。

    另外,最后一行有两个^ 字符,这可能会给您带来麻烦。第一个可能会逃脱%%a 的第一个% 标志,我认为这不是您的本意。

    【讨论】:

    • 应该是set "h=^&lt;l^&gt;",这样插入符号就不会在定义上被剥离,实际上可能会在稍后(在回声中)逃脱&lt;&gt;
    • 谢谢我试试这个并且可以工作 @echo off set h=^
    • setLocal EnableDelayedExpansion for /f "tokens=* delims= " %%a in (input.txt) do ( set /a N+=1 echo ^%h%^%g%%%a^%h%^%g%>>output.txt )
  • 感谢 GolezTrol 这非常有用
  • @wmz 你试过了吗?它会将引号添加到 %h%,并将它们添加到输出中。
  • 不,不会的。它引用表达式,而不是值本身(注意第一个 " 的位置)
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签