to 各位大大
小弟想使用批字檔改指定文件中的文字,有高手可以幫我解決嗎?
主要想把其中的 <LICENSESERVERIP>59.125.59.246</LICENSESERVERIP>
改成 <LICENSESERVERIP>10.32.46.42</LICENSESERVERIP>
有人可以教我怎麼改嗎??
我的系統是windows10,謝謝
我上網查了一下語法
@echo off
REM By SyneArt
REM **************************************用法**************************************
REM *** ***
REM *** call:sub "檔案名" "那一行的原始字串或是局部字串" "那一行所要代替的文字" ***
REM *** ***
REM ********************************************************************************
REM 主程式
call:sub "abc.ini" "59.125.59.246" "main=1234"
exit
REM 副程式
:sub
findstr "\<%~3\>" %1 >nul
if %ERRORLEVEL%==1 ( REM 若與內容不符則繼續執行
for /f "tokens=1* delims=:" %%i in ('findstr /n ".*" %1') do (
if "%%j"=="" (echo.>>tmp) else (
echo %%j|find %2>nul&&(call echo %~3>>tmp)||(echo %%j>>tmp)
)
)
copy tmp %1 /y >nul&&del tmp
)
如果是存59.125.59.246是可以修改沒錯,但是加上<LICENSESERVERIP>
好像就不行了
這是之前找網路上的,改了能用但我也不熟bat,所以不負責任。
for /f "delims=" %%b in ('type 要修改的.xml') do (
set "str=%%b"&set "str=!str:<LICENSESERVERIP>59.125.59.246</LICENSESERVERIP>=<LICENSESERVERIP>10.32.46.42</LICENSESERVERIP>!"
echo !str! >>新檔名.xml
)
要改的字串可能還要注意空白。
另外何不考慮用powershell寫?
https://blogs.msdn.microsoft.com/sonam_rastogi_blogs/2014/05/14/update-xml-file-using-powershell/