Falcon99
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору set path_sourse=c:\temp\111 set path_dest=d:\backup set file_name_1=111.cmd set file_name_2=111_.cmd :: Проверяем наличие исходного файла if exist "%path_sourse%\%file_name_1%" ( :: Получаем дату модификации файла минус 1 день call :yesterday "%path_sourse%\%file_name_1%" set dd_file_1=%ddmmyyyy:~0,2% set path_month=%ddmmyyyy:~3,2% set path_year=%ddmmyyyy:~-4% call :yesterday "%path_sourse%\%file_name_2%" set dd_file_2=%ddmmyyyy:~0,2% set path_days=%dd_file_1%-%dd_file_2% set path_dest_full=%path_dest%\%path_year%\%path_month%\%path_days% echo путь: %path_dest_full% ) else ( echo Исходных файлов не существует ) exit :yesterday SetLocal for /f %%i in ("%~1") do set data_modifed=%%~ti set day_minus=-1 set yyyy=%data_modifed:~6,4% set /a mm=100%data_modifed:~3,2%%%100 set /a dd=100%data_modifed:~,2%%%100 set /a JD=%day_minus%+dd-32075+1461*(yyyy+4800+(mm-14)/12)/4+367*(mm-2-(mm-14)/12*12)/12-3*((yyyy+4900+(mm-14)/12)/100)/4 set /a L=JD+68569,N=4*L/146097,L=L-(146097*N+3)/4,I=4000*(L+1)/1461001 set /a L=L-1461*I/4+31,J=80*L/2447,K=L-2447*J/80,L=J/11 set /a J=J+2-12*L,I=100*(N-49)+I+L set /a yyyy=I,mm=100+J,dd=100+K EndLocal& Set ddmmyyyy=%dd:~-2%.%mm:~-2%.%yyyy% | Всего записей: 607 | Зарегистр. 12-10-2005 | Отправлено: 17:11 07-06-2018 | Исправлено: Falcon99, 17:52 07-06-2018 |
|