Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2723
Благодарности: 1693

Профиль | Отправить PM | Цитировать


Цитата alpap:
set /a Szmb=%~z1/1024 »
Если 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

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 22-04-2021 в 18:13.


Отправлено: 17:14, 22-04-2021 | #7