回复 31# qzwqzw
我的目的是通用性最大化,常见的方案大思路主要有 set var=%var% 和 set var=%%a 两类,但前者的通用性实在是...
1、- endlocal&set var1=%var1%&set var2=%var2%
- rem 若含 " 等将极易致错
复制代码 2、- for %%a in ($ "!var1=!var1!" "var2=!var2!") do (
- if %%a==$ (endlocal) else set "%%a"
- )
- rem 遇到变量内容含 * 和 ? 则必死无疑
复制代码 3、- set 换行符=^
-
-
- for /f "delims=" %%a in ("$!换行符!var1=!var1!!换行符!var2=!var2!") do (
- if %%a==$ (endlocal) else set "%%a"
- )
- rem 个人认为比较好的方案1,但是获取换行符的那三行不容压缩和添字,难保 copy 的时候会不会出岔子(尤其是有些论坛经常会在行末添加空格)
复制代码 4、- for /f "delims=" %%a in ("var1=!var1!") do (
- for /f "delims=" %%b in ("var2=!var2!") do (
- endlocal
- set "%%b"
- )
- set "%%a"
- )
- rem 个人认为比较好的方案2,实际上我更喜欢方案3,但这个容易看懂,行数也可以压缩得很短
复制代码
|