:start
dir c: >dir.txt
findstr /c:"可用字节" dir.txt >temp.txt
FOR /F "tokens=3,4,5,6,8* delims=, " %%i in (temp.txt) do set /a %%i%%j%%k/1024 >p%%
rem 问题在这里,因为用if命令无法对9位数以上的数字比较,我把它除以1024后把结果输入到P%%里面,但在比较时不是%%i%%j%%k/1024 的结果,求高手指点错误在哪里,
if p%% lss 80000 del ***.*** else goto time1
:time1
@echo off
setlocal enableextensions
echo %time%
call :ProcDelay 1000
echo %time%
goto :EOF
:ProcDelay delayMSec_
setlocal enableextensions
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k
:_procwaitloop
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k
set /a diff_=%now_%-%start_%
if %diff_% LSS %1 goto _procwaitloop
endlocal & goto start