2012-02-15 74 views
1

我在文件夹名为C 2个文件夹替换文本:\ durvi \ mmi_test \ mmidurvi这是 C:\ durvi \ mmi_test \ mmidurvi \ durvyauu C:\ durvi \ mmi_test \ mmidurvi \ sgdf
这两个文件夹有Connections.xml文件
我想更换ql99015的任何一次出现与dd32261
文件的采样格式如下在.bat文件

<pre><anyType xsi:type="xsd:string">ql99015</anyType> 

<anyType xsi:type="xsd:string">ql99015_flowreeng_Anthony</anyType> </pre> 

我想是这样,但下面不工作:

for /D %%f in (c:\durvi\mmi_test\mmidurvi\*) do ( 
cd %%f 
if not exist "Connections.xml" (echo this file does not exist)&goto :eof 
SETLOCAL=ENABLEDELAYEDEXPANSION 
ren "Connections.xml" "Connections1.xml" 
for /f %%a in (Connections1.xml) do ( 
set write=%%a 
echo %%a 
if !write!=="ql99015" set write="dd32261" 
echo !write! >> Connections.xml 
) 
del "Connections1.xml" 
cd.. 
) 

感谢您的帮助!

回答

2

更改脚本:

SETLOCAL ENABLEDELAYEDEXPANSION 
for /r %%a in (connections.xml) do (
    move "%%a" "%%a.temp" 
    for /f "usebackq tokens=*" %%b in ("%%a.temp") do (
    set write=%%b 
    echo !write:ql99015=dd32261! >> "%%a" 
) 
    del "%%a.temp" 
) 
+0

谢谢,我会尝试这一点,并让你知道 – NewQueries 2012-02-16 14:27:44

+0

非常感谢它完美:),我只是说,我一直在寻找connections.xml“的路径/ R c:\ durvi \ mmi_test \ mmidurvi \ * %% a(connections.xml)do(' – NewQueries 2012-02-16 15:05:00