Batch file 用批处理文件替换update.ver中的文本
我写这个脚本是为了替换文件中的行,但是它需要很长时间。有没有办法加快速度Batch file 用批处理文件替换update.ver中的文本,batch-file,Batch File,我写这个脚本是为了替换文件中的行,但是它需要很长时间。有没有办法加快速度 @echo off setlocal DisableDelayedExpansion set INTEXTFILE=update.ver set OUTTEXTFILE=update.txt set SEARCHTEXT=93.184.71.27 set REPLACETEXT=93.184.72.27 set OUTPUTLINE= for /f "tokens=1,* delims=¶" %%A in ( '"typ
@echo off
setlocal DisableDelayedExpansion
set INTEXTFILE=update.ver
set OUTTEXTFILE=update.txt
set SEARCHTEXT=93.184.71.27
set REPLACETEXT=93.184.72.27
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
setlocal EnableDelayedExpansion
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
>> %OUTTEXTFILE% echo(!modified!
endlocal
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
@echo off
setlocal DisableDelayedExpansion
set INTEXTFILE=update.ver
set OUTTEXTFILE=update.txt
set SEARCHTEXT=91.228.167.26
set REPLACETEXT=91.227.167.26
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
setlocal EnableDelayedExpansion
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
>> %OUTTEXTFILE% echo(!modified!
endlocal
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
@echo off
setlocal DisableDelayedExpansion
set INTEXTFILE=update.ver
set OUTTEXTFILE=update.txt
set SEARCHTEXT=91.228.166.13
set REPLACETEXT=91.227.166.13
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
setlocal EnableDelayedExpansion
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
>> %OUTTEXTFILE% echo(!modified!
endlocal
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
@echo off
setlocal DisableDelayedExpansion
set INTEXTFILE=update.ver
set OUTTEXTFILE=update.txt
set SEARCHTEXT=91.228.166.15
set REPLACETEXT=91.227.166.15
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
setlocal EnableDelayedExpansion
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
>> %OUTTEXTFILE% echo(!modified!
endlocal
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
请帮助我您可以使用我的FindRepl.bat程序在文件的一次处理过程中实现多个字符串替换。例如:
@echo off
setlocal
set INTEXTFILE=update.ver
set OUTTEXTFILE=update.txt
set "SEARCHTEXT=93\.184\.71\.27|91\.228\.167\.26|91\.228\.166\.13|91\.228\.166\.15"
set "REPLACETEXT=93\.184\.72\.27|91\.227\.167\.26|91\.227\.166\.13|91\.227\.166\.15"
call FindRepl "%SEARCHTEXT%" /A "%REPLACETEXT%" < %INTEXTFILE% > %OUTTEXTFILE%
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
@echo关闭
setlocal
设置INTEXTFILE=update.ver
set-OUTTEXTFILE=update.txt
设置“SEARCHTEXT=93\.184\.71\.27 | 91\.228\.167\.26 | 91\.228\.166\.13 | 91\.228\.166\.15”
设置“REPLACETEXT=93\.184\.72\.27 | 91\.227\.167\.26 | 91\.227\.166\.13 | 91\.227\.166\.15”
调用FindRepl“%SEARCHTEXT%”/A“%REPLACETEXT%”<%INTEXTFILE%>%OUTTEXTFILE%
删除%INTEXTFILE%
重命名%OUTTEXTFILE%%INTEXTFILE%
FindRepl中的/A开关指示Search和Replace字符串都有几个由垂直条分隔的值
bat是一个批处理JScript混合程序,因此它比任何纯批处理解决方案运行得都快;使用它不需要任何额外的东西,只需从下载即可。您可以使用我的FindRepl.bat程序在文件的一个处理过程中实现多个字符串替换。例如:
@echo off
setlocal
set INTEXTFILE=update.ver
set OUTTEXTFILE=update.txt
set "SEARCHTEXT=93\.184\.71\.27|91\.228\.167\.26|91\.228\.166\.13|91\.228\.166\.15"
set "REPLACETEXT=93\.184\.72\.27|91\.227\.167\.26|91\.227\.166\.13|91\.227\.166\.15"
call FindRepl "%SEARCHTEXT%" /A "%REPLACETEXT%" < %INTEXTFILE% > %OUTTEXTFILE%
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%
@echo关闭
setlocal
设置INTEXTFILE=update.ver
set-OUTTEXTFILE=update.txt
设置“SEARCHTEXT=93\.184\.71\.27 | 91\.228\.167\.26 | 91\.228\.166\.13 | 91\.228\.166\.15”
设置“REPLACETEXT=93\.184\.72\.27 | 91\.227\.167\.26 | 91\.227\.166\.13 | 91\.227\.166\.15”
调用FindRepl“%SEARCHTEXT%”/A“%REPLACETEXT%”<%INTEXTFILE%>%OUTTEXTFILE%
删除%INTEXTFILE%
重命名%OUTTEXTFILE%%INTEXTFILE%
FindRepl中的/A开关指示Search和Replace字符串都有几个由垂直条分隔的值
bat是一个批处理JScript混合程序,因此它比任何纯批处理解决方案运行得都快;您不需要任何额外的东西就可以使用它,只需从下载它即可您忘了告诉我们问题是什么!你忘了告诉我们问题出在哪里了@莫特扎霍达迪:哦,我错了!我忘了在每个点之前插入反斜杠!这在正则表达式中是必需的。。。请重新复制批处理程序above@MortezaKhodadadi:哦,我错了!我忘了在每个点之前插入反斜杠!这在正则表达式中是必需的。。。请重新复制上面的批处理程序