回复 30#sishentibu
set a=%%i这个必须有。
我发现for和if比goto运行的速度快很多,所以我那个分割可以写成for的,速度简直快了几十倍,还有批处理居然按行读取硬盘的bat文件,因此我把for循环弄成一行,让机器一次读完一个for语句。我设置为1000次循环,即最大3000位数字截取,运行速度快的惊人。
@echo off&setlocal enabledelayedexpansion
set /p num=输入数字:
for /l %%i in (1 1 1000) do (if !num! equ 0 (set p1=!p1:-,=-!&set /p =!p1:~1!) else (set p1=,!num:~-3!!p1!&set num=!num:~0,-3!))