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

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

Ветеран


Contributor


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

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


Stolc, если копировать файлы, то вот вариант. Хотя подозреваю, надо перемещать
Код: Выделить весь код
@Echo Off

	Set "BoxIn=Z:\Box_In"
	Set "BoxOut=Z:\Box_Out"
	Set "Mask=*.*"
	Set /A DMin=5

	Call :Minutes "%Date% %Time%" "DayNow" "MinNow"
	FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\%Mask%" /B /A:-D`) DO Call :CopyMin "%BoxIn%\%%f"

GoTo :Eof

:CopyMin
	Call :Minutes "%~t1" "DayOld" "MinOld"

	Set /A DOld=(%DayNow%-%DayOld%)*1440+%MinNow%-%MinOld%
 	If %DOld% GEQ %DMin% >nul xcopy /D %1 "%BoxOut%\"
GoTo :Eof

:Minutes
	SETLOCAL
	FOR /F "tokens=1,2,3,4,5 delims=.:,/ " %%i IN ("%~1") DO Set "Day=0%%i" &Set "Month=0%%j" &Set "Year=%%k" &Set "Hour=0%%l" &Set "Min=0%%m"
	Set /A Day=1%Day:~-2%-100
	Set /A Month=1%Month:~-2%-100
	Call :JulianDay %Day% %Month% %Year% "Day"
	ENDLOCAL &(Set /A %~2=%Day% &Set /A %~3=1%Hour:~-2%*60+1%Min:~-2%-6100)
GoTo :Eof

rem Вычисляет абсолютный номер дня по юлианскому календарю
rem На входе dd mm yyyy
rem На выходе имя переменной в кавычках четвёртым аргументом

:JulianDay
	Set /A %~4=(1461*(%3+4800+(%2-14)/12))/4+(367*(%2-2-12*((%2-14)/12)))/12-(3*((%3+4900+(%2-14)/12)/100))/4+%1-32075
Exit /B

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:44, 06-08-2018 | #5