我有一個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