alexnov66

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору primaht Цитата: Архив: -> год -> месяц -> ИмяФайла_YYYY.MM.DD | код надо в тег коде делать что бы форум ни чего не сьел. Что бы была структура надо определять отдельно в переменных год месяц день и соответственно создавать директории на основе этих переменных. у меня батник самописанный работает так, только winrar использую, плюс сначала определяется на какой винде запущен и соответственно создаётся папка с названием винды. насколько помню в название файла или папки двоеточие у времени надо заменять, винда не понимает, или в название файла писать отдельно часы, минуты. если в названии пробел надо брать в кавычки, да и путь указан непонятный на какой диск писать, а так создастся там откуда запущен батник. set SourceDir=\\192.168.0.100\for_all\ОТДЕЛ ПРОДАЖ\СТОК\Архив set BackupDir=\\192.168.0.100\for_all\ОТДЕЛ ПРОДАЖ\СТОК вот тут надо слэш ставить а не в параметрах переменной в конце "%FullBackupDir%\%DirName%.zip" и зачем два раза одна переменная указана set FullBackupDir=%BackupDir%%date%\ set FullBackupDir=%BackupDir%%date%\ если создать папку с текущей датой то переменные слэшэм разделять а не писать всё слитно, и тогда в директории переменной BackupDir создастся папка текущей даты set FullBackupDir=%BackupDir%\%date% ну или так с параметрами определения года месяца и дня приведёнными ниже set FullBackupDir=%BackupDir%\%VDATEG%\%VDATEM%\%VDATED% устаревшие файлы можно очистить так и оставить за последние 30 дней, к примеру с расширением zip Код: forfiles /P "%BackupDir%\%VDATEG%\%VDATEM%" /S /M *.zip /D -30 /C "cmd /c del /q /f @file" | Код: rem Определяем дату rem вывод года set VDATEG=%date:~6,4% rem вывод месяца set VDATEM=%date:~3,2% rem вывод дня set VDATED=%date:~0,2% rem вывод всей даты set VDATE=%date:~-10% rem замена точки на дефис или тире rem set VDATE="%VDATE:.=-%" rem Формируем директорию на основании даты год\месяц\день set VDATE_DIR=%VDATEG%\%VDATEM%\%VDATED% rem Определяем время rem вывод часов set VTIMEH="%time:~0,2%" rem вывод минут set VTIMEM=%time:~3,-6% rem вывод секунд set VTIMES=%time:~6,2% rem вывод полного времени rem set VTIMEALL=%time:~-10% rem замена двоеточия на дефис или тире rem set VTIMEALL=%VTIMEALL::=-% set VTIME=%VTIMEH%.%VTIMEM% rem Создаём имя файла на основании даты и времени set DATE_TIME=%VDATE%_%VTIME% | вообще раздел по написанию батников тут. http://forum.ru-board.com/topic.cgi?forum=5&topic=50615&start=3900#lt [?] | Всего записей: 1511 | Зарегистр. 29-08-2005 | Отправлено: 15:57 28-05-2024 | Исправлено: alexnov66, 05:26 29-05-2024 |
|