批量替换的bat,如何进行包含等号的字符串替换?

你好,学习了您的用于批量替换的bat,但是如果要实现将LOCAL_CODEPAGE=windows-936-2000替换成LOCAL_CODEPAGE=cp1252,做了一些调试,都没有实现,特向您讨教.
请注意,必须包含等号的两个字符串替换

如果替换的是一整行就比较简单,如果不是一整行,而是一行中的一部分就很有些麻烦
写个简单的且只考虑需要替换的只一行:
@echo off
set f=xx.ini
set s1=LOCAL_CODEPAGE=windows-936-2000
set s2=LOCAL_CODEPAGE=cp1252
for /f "delims=:" %%a in (findstr/in "%s1%" "%f%")do set n=%%a
(for /f "tokens=1* delims=:" %%a in ('findstr/n ".*" "%f%"')do (
if %%a equ %n% (echo.%s2%)else echo.%%b
))>newfile
move newfile "%f%"
echo 替换完毕&ping -n 2 127.1>nul
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-22
撒爱上