减法中突破set/a的运算位数限制,应用在除法中被除数可以突破位数限制,但对除数还是有位数限制所以就不发除法的了!
REM 此P纯娱乐,
@echo off
SET Size=100001000789909099832539
SET Free=9983253910007899090
:stf
if %Size:~-1% geq %Free:~-1% (
set/a tx=%Size:~-1%-%Free:~-1%
call set tr=%%tx%%%tr%
set Size=%Size:~0,-1%&set Free=%Free:~0,-1%
if not defined Free goto next
goto stf
)
set/a tx=1%Size:~-1%-%Free:~-1%
call set tr=%%tx:~0,1%%%tr%
set Size=%Size:~0,-1%&set Free=%Free:~0,-1%
set tq=1%Size:~-9%
set/a tq-=1
set Size=%Size:~0,-9%%tq:~1%
if defined Free goto stf
:next
for /f "delims=0 tokens=*" %%i in ("%Size%%tr%") do echo %%i
pause