Кто умеет/хочет делать - делает, кто не умеет/не хочет - критикует. Если хотите намного проще, натека:
Код:
@Echo Off
Set "BoxIn=z:\Box_In"
Set /A SS=44000 ||Exit /b 2
FOR /F "usebackq delims=" %%i IN (`2^>nul Dir "%BoxIn%\*.*" /S /B /A:-D`) DO (
If %%~zi LEQ %SS% Del "%%i"
)
Exit /B
Критикую оба решения, это моё и Ваше: если среди файлов будет файл длиннее 2147483647 байт арифметика работать не будет. Что получится, лень думать. Попробуйте
Код:
@Echo Off
cls
Set /A Max=1000
Set /A A=2147483647
If %A% GEQ %Max% (Echo %A% ^>= %Max%) Else (Echo %A% ^< %Max%)
Set /A A=2247483647
If %A% GEQ %Max% (Echo %A% ^>= %Max%) Else (Echo %A% ^< %Max%)
pause
То есть файл длиной 2247483647 байт мы убъём без зазрения совести - у него отрицательная длина по цэмэдэшной арифметике. В первом коде я пытаюсь от этого застраховаться, поэтому накрутил всякого изврата.