Если 500 это mb, то, ИМХО
Код:
set /a Szmb=%~z1/1024/1024
???
Спасибо Alpap, я перемудрил, в моём варианте можно обойтись без For и, кроме того, без Push (файлы не более 2'147'483'647 байт
Код:
@Echo Off
cls
Set "FileIn=Z:\Box_In\1 Высокий блондин в черном ботинке (1972).mp4"
Set /A mSize=500*1024*1024
Call :fSize %mSize% "%FileIn%" "Index"
Echo %Index%
pause
Exit /B
:fSize
If Not Exist %2 (Set /A %~3=2 &Exit /B 2)
SetLocal
If %~z2 LSS %1 (Set /A i=0) Else (Set /A i=1)
EndLocal &Set /A %~3=%i%
Exit /B
Слегка усложнить код, файлы могут быть в 1 000 000 раз больше
Код:
@Echo Off
cls
Set "FileIn=Z:\Box_In\1 Высокий блондин в черном ботинке (1972).mp4"
Set /A mSize=500*1024*1024
Call :fSize %mSize% "%FileIn%" "Index"
Echo %Index%
pause
Exit /B
:fSize
If Not Exist %2 (Set /A %~3=2 &Exit /B 2)
SetLocal
Set "A2=%~z2"
Call Set "A2=%%A2:~0,-6%%"
Set /A A1=%1
Set "A1=%A1:~0,-6%"
If "%A1%"=="" Set /A A1=0
If "%A2%"=="" Set /A A2=0
Set /A i=1
IF Not "%A2%"=="0" If %A2% LSS %A1% Set /A i=0
EndLocal &Set /A %~3=%i%
Exit /B
Что касается времени, причём не обязательно для 24 часов, то корректно в CMD это сделать можно наверное, но будет громоздко. Как вариант (если CMD принципиален и Powershell никак не применять), можно сделать CMD со встроенным JS