set替换默认以第一个等号为分隔符,所以据我所知不可能光用set变量替换完成,有两个折衷方案
一,for /l- set str="123eeee="wwww"234"
- for /l %%a in (0 1 100) do (
- if "!str:~%%a,11!"=="eeee="wwww"" set n=10
- set /a n-=1
- if !n! leq 0 set /p=%%a<nul
- )
复制代码 二、for /f- for /f "tokens=1-3 delims==" %%a in ("123eeee="wwww"234") do set tmp=%%a@%%b@%%a
- set tmp=%tmp:eeee@"wwww"=%
- echo %tmp:@==%
复制代码 但无论怎么弄,都很麻烦... |