转义Windows Batch For循环中的字符串

时间:2011-09-07 18:16:10

标签: windows string batch-file escaping

我遇到以下代码问题:

FOR /f "tokens=*" %%A in (%MYFILE_PATH%) do (
    [other stuff]
    echo %%A>> "%MYFILE_PATH%.scratch"
)

正在读取的文件中包含XML,并且<和>标志被读取,脚本抛出错误。 如何逃避%% A的内容以安全回显输出文件? 我不想在它周围加上双引号,因为它也会回应引号。

由于

1 个答案:

答案 0 :(得分:1)

FOR /f "tokens=*" %%A in (%MYFILE_PATH%) do (
    [other stuff]
    (echo %%A)>>"%MYFILE_PATH%.scratch"
)

将%% A的内容附加到另一个文件中时,您实质上所做的就是复制文件。

修改

 FOR /f "tokens=* delims=" %%A in (%MYFILE_PATH%) do (
    [other stuff]
    (echo %%A)>>"%MYFILE_PATH%.scratch"
)