call,set var=%%str:~%m%,1%%
call,set /p=%var%<nul
if defined var (for /l %%i in (1,1,4000) do echo.>nul&goto lp)
if %n% lss 11 goto begin
call,set var=%%str:~%m%,1%%,这是逐行逐字符截取命令,%str%是行的变量,而%m%是从0一直向上递加的(每次加1),这样就实行了对词的每行的逐字截取并赋值给变量%var%;
call,set /p=%var%<nul,echo 是换行输出命令,而set /p是不换行输出命令,当一行中还在截取字符时,新的字符总是紧跟输出的最后一个字符后被输出;
if defined var (for /l %%i in (1,1,4000) do echo.>nul&goto lp)这句的意思是如果存在不为空的变量%var%刚进行对程序延迟设定时间后再继续运行;
if %n% lss 11 goto begin,如果变量n(也是每次递加1)的值小于11(词有11行),则返回begin标签处进行下一轮循环。