那个%for%运行起来就是这个效果:- @echo off&setlocal enabledelayedexpansion&set tmp5=a b c de f
- for %%5 in (!tmp5!) do (
- set tmp4=!tmp5:%%5 =!
- for %%4 in (!tmp4!) do (
- set tmp3=!tmp4:%%4 =!
- for %%3 in (!tmp3!) do (
- set tmp2=!tmp3:%%3 =!
- for %%2 in (!tmp2!) do (
- set tmp1=!tmp2:%%2 =!
- for /f "delims=" %%1 in ("!tmp1:%%2=!") do (
- echo %%5 %%4 %%3 %%2 %%1
- )
- )
- )
- )
- )
- pause
复制代码 很明显是最土的办法...只是我改进思路后,在执行之前可以自动定义层数,然后用一个变量存储了整个for嵌套,实际运行的代码就是这样子:- @echo off&setlocal enabledelayedexpansion&set tmp5=a b c de f
- for %%5 in (!tmp5!) do ((set tmp4=!tmp5:%%5 =!)&for %%4 in (!tmp4!) do ((set tmp3=!tmp4:%%4 =!)&for %%3 in (!tmp3!) do ((set tmp2=!tmp3:%%3 =!)&for %%2 in (!tmp2!) do ((set tmp1=!tmp2:%%2 =!)&for /f "delims=" %%1 in ("!tmp1:%%2=!") do echo %%5 %%4 %%3 %%2 %%1 ))))
- pause
复制代码
|