我有一个XML文件,我有一个批处理文件来搜索该文件中的特定字符串,将其替换为用户定义的字符串,然后将其输出到新的XML文件中:搜索和替换批处理文件的问题
@echo off > entities_1.xml
setLocal EnableDelayedExpansion
if exist entities_1.xml del entities_1.xml
set /p name= What is the new space NAME?
for /f "tokens=* delims= " %%G in (entities.xml) do (
set str=%%G
set str=!str:[Test Space]=[%name%]!
echo !str! >> entities_1.xml
)
这可以工作,[测试空间]的任何实例都将被用户定义的值替换。
但是,我的问题是批处理文件也是剥离感叹号(!)标记的实例。因此,例如在XML中也有类似这样的行:
<property name="title"><![CDATA[TEST2]]></property>
当运行批处理脚本,它与替换上面:
<property name="title"><[CDATA[TEST2]]></property>
即剥离!
我哪里错了?有任何想法吗?
可能重复的[查找字符串并替换批处理文件中的特定字母](http://stackoverflow.com/questions/17085650/find-a-string-and-replace-specific-letters-in-batch-file ) – 2014-12-26 10:00:54