|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - создание bat файла для удаления старых папок |
|
CMD/BAT - создание bat файла для удаления старых папок
|
Новый участник Сообщения: 22 |
Профиль | Отправить PM | Цитировать Задача заключается в том, чтобы удалять папки вида ??.??.???? (соответственно вместо вопросиков - дата число.месяц.год)
Есть путь D:\1cBackupElena\v77BackupElena. Там хранятся папки которые создаются каждый день с помощью батников, которые запускаются в определенное время планировщиком заданий windows 7. В папках лежат архивы. Баз 1с много, поэтому при запуске батника создается папка с именем ??.??.????, а в ней архивы 7z от каждой базы (то, что как раз с помощью батников создается. Понятное дело, если даже месяц не удалять старые папки с архивами 1С (бэкапами), то жесткого диска не хватит. Поэтому встал вопрос написать батник, который будет работать под планировщиком заданий и удалять папки недельной давности (или другой давности). Надыбал в просторах скриптик, но он удаляет файлы. Вот код: @Echo Off SetLocal enabledelayedexpansion Set papka=D:\1cBackupElena\v82BackupElena ForFiles -p %papka% -s -m *.* -d -3 -c "cmd /c del /q @path" Коротенький, но мне нужно удалять папки с архивами по названию (ну или по дате, специалисты, молю, подскажите как лучше) |
|
Отправлено: 18:25, 06-04-2015 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать @Echo Off SetLocal EnableDelayedExpansion set minus_days=7 Set papka=D:\1cBackupElena\v82BackupElena set _dt=!DATE! rem set _dt=01.07.2012 set _dt=%_dt:~-10% set _day=%_dt:~0,2% set mon=%_dt:~3,2% set year=%_dt:~6,4% if %_day% LSS 10 set _day=%_day:~1% if %mon% LSS 10 set mon=%mon:~1% set /A _day-=%minus_days% rem echo _day=!_day! if %_day% LSS 0 ( set /A mon-=1 if !mon!==0 ( set mon=12 set /A year-=1 ) if !mon!==2 ( set /A ost=%year% %% 4 if !ost!==0 (set /A _day=29+_day) else (set /A _day=28+_day) echo ost=!ost! ) else ( set /A _day=31+_day for %%m in (4 6 9 11) do if !mon!==%%m set /A _day=_day-1 ) ) if %_day% LSS 10 set _day=0%_day% if %mon% LSS 10 set mon=0%mon% set old=%year%-%mon%-%_day% echo old=%old% for /D %%f in (%papka%\*.*) do ( if not %%f==%0 ( set dat=_%%~nxf set dat=!dat:~7,4!-!dat:~4,2!-!dat:~1,2! if !dat! LEQ %old% ( rd /s /q %%f ) ) ) на , как было изначально в том моём батнике. |
------- Последний раз редактировалось Гуллипут, 06-04-2015 в 21:48. Причина: Дополнение Отправлено: 21:43, 06-04-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Огромное спасибо тебе камрад! Выручил, осталось только на рабочей машинке проверить работу скрипта)
|
Отправлено: 11:21, 08-04-2015 | #3 |
Ветеран Сообщения: 545
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 20:35, 13-04-2015 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Опиум:
|
||
Отправлено: 21:22, 13-04-2015 | #5 |
Ветеран Сообщения: 545
|
Профиль | Сайт | Отправить PM | Цитировать Iska, хорошо) используем robocopy /MINAGE:7 /MOV
|
------- Отправлено: 23:03, 13-04-2015 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Скрипт для удаления старых файлов и папок из определенной папки | avfiga | Скриптовые языки администрирования Windows | 71 | 07-01-2023 18:50 | |
CMD/BAT - [решено] Нужен bat-ник для поиска и удаления файлов и папок по маске | Nun-Nun | Скриптовые языки администрирования Windows | 14 | 08-11-2014 09:53 | |
Прочие - Создание bat файла для резерного копирования данных с помощью акрониса | Beren | Программное обеспечение Windows | 0 | 02-10-2012 10:35 | |
CMD/BAT - Нужен bat для удаления ИЗМЕНЁННЫХ папок и программ (ярлыков) из меню "Пуск-Программы" | Nun-Nun | Скриптовые языки администрирования Windows | 15 | 18-03-2011 10:14 | |
CMD/BAT - [решено] Создание CMD/BAT файла для удаления лишних папок | Vsirf | Скриптовые языки администрирования Windows | 4 | 04-06-2009 20:37 |
|