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

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

Ветеран


Contributor


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

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


Sargezzz,
Разницу между текущей датой и датой изменения конкретного файла можно посчитать проще
Код: Выделить весь код
@Echo Off
cls
	FOR /F "tokens=1,2,3 delims=. " %%i IN ("%Date%") DO Set /A D1=1%%i-100, M1=1%%j-100, Y1=%%k
	Call :JulianDay %D1% %M1% %Y1% "ND1"

	Pushd "Z:\Box_In"
	FOR /F "usebackq delims=" %%i IN (`2^>nul Dir /B /A:-D "list.txt"`) DO Set "Date2=%%~ti"
	Popd

	FOR /F "tokens=1,2,3 delims=. " %%i IN ("%Date2%") DO Set /A D2=1%%i-100, M2=1%%j-100, Y2=%%k
	Call :JulianDay %D2% %M2% %Y2% "ND2"

	Set /A ND=%ND1%-%ND2%
	Echo (%Date%)-(%Date2%)=%ND1%-%ND2%=%ND%
Pause
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
Дата в системе в виде дд.мм.гггг

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


Последний раз редактировалось megaloman, 13-08-2018 в 16:20.


Отправлено: 16:14, 13-08-2018 | #5