- @echo off & setlocal enabledelayedexpansion
- set "str[0]= b a t h o m e"
- set tm1=%time%
- for %%a in (%str[0]%) do (
- set /a n+=1
- set /a odr[!n!]=n-1
- set var[!n!]=%%~a
- )
- ::FOR的嵌套递归,借鉴了http://bbs.bathome.net/viewthread.php?tid=1701&extra=&page=2中22楼CrLf的答案。
- for /l %%a in (1, 1, %n%) do if not "%%~a"=="%n%" (
- set "for=!for!for %%!var[%%~a]! in (^!str[!odr[%%~a]!]^!) do ( set "str[%%~a]=^^^!str[!odr[%%~a]!]: %%~!var[%%~a]!=^^^!" & "
- ) else (
- set "for=!for!for %%!var[%%~a]! in (^!str[!odr[%%~a]!]^!) do ( "
- )
- set "for=!for!echo;!str[0]: = %%~!"
- for /l %%a in (1, 1, %n%) do set "for=!for!) "
- %for%
- echo; 始于%tm1% ^
- 终于%time%
- pause
复制代码
|