回复 4# zaixinxiangnian
for 嵌套是一个整体,不能拆开来看。- @echo off
- for /f "delims=" %%a in (1.txt) do (
- rem 外层 for 获取 1.txt 内容,每行一循环,不以任何字符为分隔符
- set str=%%a
- rem 将本行内容设为 str 变量用于变量替换
- setlocal enabledelayedexpansion
- rem 开启变量延迟,以便在语块中引用变量。之所以在循环内才开启变量延迟,目的是兼容感叹号
- for /f "delims=@" %%b in ("!str: 效果怪兽=@!") do echo %%b
- rem 将变量 str 中的指定字符串替换为 @,并以此为分隔符显示第一节
- endlocal
- rem 结束本地化操作,目的是避免 setlocal 在循环中达到 32 层上限
- )
复制代码
|