Имя пользователя:
Пароль:
 

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

Аватара для Сантей

Пользователь


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

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


Цитата Опиум:
как вы себе это представляете?)
я в свое время специальный календарь писал типа планинга, чтобы шедулеры разные не жестко к дням недели привязывались,а к тому что я задам, Ибо праздников в стране дофига. »
с праздниками хрен с ними, главное выходные дни пропускать. Вот слепил пока копирование, осталось переименование:
Код: Выделить весь код
@echo off
SetLocal EnableExtensions
 
:: Добавление к дате +1, +3 дня
call :fromDate "%date%" +0 ddmmyyyy1 wd1
call :fromDate "%date%" +1 ddmmyyyy2 wd2
call :fromDate "%date%" +3 ddmmyyyy3 wd3

 :: Проверка на день недели и копирование папки
if "%wd1%" neq "5" if exist "%ddmmyyyy1:~-2,2%_%ddmmyyyy1:~-5,2%_News" xcopy /s /e /q /i "%ddmmyyyy1:~-2,2%_%ddmmyyyy1:~-5,2%_News" "%ddmmyyyy2:~-2,2%_%ddmmyyyy2:~-5,2%_News"
if "%wd1%"=="5" if exist "%ddmmyyyy1:~-2,2%_%ddmmyyyy1:~-5,2%_News" xcopy /s /e /q /i "%ddmmyyyy1:~-2,2%_%ddmmyyyy1:~-5,2%_News" "%ddmmyyyy3:~-2,2%_%ddmmyyyy3:~-5,2%_News"
 
 
 
pause>nul & goto :eof
 
 
:FromDate [Дата] [действие (+-) Число дней] [Переменная для хранения результата]
:: Функция работы с датами
setLocal
set "now=%~1"
set /a yyyy=%now:~-4%
set /a mm=1%now:~3,2%-100
set /a dd=1%now:~,2%-100
set /a JD=%~2+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, DW=(JD+1)%%7
EndLocal& set "%~3=%yyyy%.%mm:~-2%.%dd:~-2%" & if %DW%==0 (set "%~4=7") else (set "%~4=%DW%")
exit /b

Отправлено: 13:09, 02-03-2015 | #4