首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > windows >

求教一个bat有关问题

2012-05-01 
求教一个bat问题!有一个文件1.txt里面的内容是D:\installD:\dataD:\MSSQL2008另外一个XML文件 2.xml.....

求教一个bat问题!
有一个文件1.txt
里面的内容是
D:\install
D:\data
D:\MSSQL2008


另外一个XML文件 2.xml

.....

<nodeName>NMSserver</nodeName>
<installDirectory>C:\MSSQL2008</installDirectory>
<privateIP>127.0.0.1</privateIP>
<fileName>C:\data</fileName>
<rootPasswd>admin</rootPasswd>
<installpath>C:\install</installpath>

.....

怎么写一个bat文件把1.txt中的内容读出来对应的替换掉2.xml文件中的内容呢

D:\install —> C:\install
D:\data —> C:\data
D:\MSSQL2008 —> C:\MSSQL2008


请老师们帮忙看下啊,多谢了!没分了,有机会下次一定奉上!!

[解决办法]

BatchFile code
@echo off & setlocal enabledelayedexpansionset i=1for /f %%a in (1.txt) do (  if !i!==1 (set installPath=%%a) else if !i!==2 (set fileName=%%a) else set installDirectory=%%a  set /a i+=1)(for /f %%a in ('findstr /n .* 2.xml') do (  set line=%%a  set line=!line:*:=!  if "!line!"=="" (echo.) else (  set changed=!line:^<installPath^>=!  if "!line!" neq "!changed!" (echo ^<installpath^>%installPath%^</installpath^>) else (    set changed=!line:^<fileName^>=!    if "!line!" neq "!changed!" (echo ^<fileName^>%fileName%^</fileName^>) else (      set changed=!line:^<installDirectory^>=!      if "!line!" neq "!changed!" (echo ^<installDirectory^>%installDirectory%^</installDirectory^>) else (        echo !line!      )    )  ))))>3.xml 

热点排行