实例:
@echo off

set NUM=10000
for /f %%i in (字符.txt) do (
set JSZF=%%i
for /L %%. in (0,1,%NUM%) do ( Call echo %%JSZF:~%%.,1%% >>1.txt)
pause
)
解析:
for /L %%var in (start#, step#, end#) do (command1)
对将start#的值赋予%%var,判断%%var是否小于等于end#,如果是则执行command1中的命令,并把start#的值增加step#,否则就退出循环;然后再把start#的新值赋予%%var再判断,如此循环直到%%var大于end#为止。

Call 的作用是调用一个命令,一般用来调用别的批处理文件,也可以调用像echo这样的命令。Call在调用别的命令时,会先对命令字符串进行计算,把里面用%标出的变量替换掉。在你的代码中,如果去年Call的话,后面的echo会把 %%JSZF:~%%.,1%% 不经计算直接输出。

%%JSZF:~%%.,1%% 这句是对变量JSZF进行截取子串操作,截取从变量%%.标识的位置开始,长度为1。其格式为 %%Var:~start, len%%

>>1.txt 是把前面命令的输出追加到1.txt文件末尾,如果文件不存在则创建文件。

你上面的代码全起来就是把 字符.txt 文件中的第一个字单独做一行放入1.txt文件。