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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Ежедневное удаление определенного каталога (через крон)

Ответить
Настройки темы
CMD/BAT - [решено] Ежедневное удаление определенного каталога (через крон)

Новый участник


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

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


Изменения
Автор: loromir
Дата: 10-07-2017
Добрый всем.
Помогите пожалуйста.
Есть каталог на сетевом диске, внутри папки с датами (вот такого образца - X:\192.168.10.230\2017-06-04)
Батник будет запускаться раз в день кронтабом.
Нужно удалить самую старую папку (к примеру 4 папки 2017-06-01 / 2017-06-02 / 2017-06-03 / 2017-06-04 , удалить 2017-06-01).

Отправлено: 16:35, 10-07-2017

 

Ветеран


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

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


кронтаб и батник - на одной платформе обычно не встречаются :-)
а если и встречаются - не лучшая идея совместно их использовать

Отправлено: 19:15, 10-07-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


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

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


Цитата loromir:
Нужно удалить самую старую папку (к примеру 4 папки 2017-06-01 / 2017-06-02 / 2017-06-03 / 2017-06-04 , удалить 2017-06-01). »
«Самую старую»:
  • по имени;
  • по дате создания;
  • по дате модификации?

Отправлено: 20:27, 10-07-2017 | #3


Новый участник


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

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


Цитата Iska:
«Самую старую»:
по имени;
по дате создания;
по дате модификации? »
либо по имени, либо по дате создания, (наверное не важно?) так как имена соответствуют датам создания

Отправлено: 12:25, 11-07-2017 | #4


Ветеран


Contributor


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

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


loromir, не кажется ли Вам, что эта постановка задачи опасна? Не лучше ли оставлять не менее некоторого количества самых новых папок?

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:49, 11-07-2017 | #5


Ветеран


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

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


megaloman, количество - тоже не сказать, что оптимальная постановка задачи. Лучше и срок давности, и количество проверять.

Цитата loromir:
так как имена соответствуют датам создания »
не лучшая практика

Отправлено: 14:30, 11-07-2017 | #6


Новый участник


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

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


Дело в том что это папки с записями с видео регистратора и посему нужны "по максимум все" возможные записи.
Видео регистратор не самый "продвинутый" и максимум что я могу там указать - это только путь. Куда записывать =( .
Перезаписывать на "стороннем" хранилище он тоже не умеет((
Сейчас хранилище заполнилось по максимум и поэтому каждый день приходится удалять самую старую папку. (как если бы видео регистратор перезаписывал старые записи)
Поэтому и такая постановка задачи, при каждом запуске удалять одну самую старую папку. А запускать буду раз в день. Как то так...

Отправлено: 17:28, 11-07-2017 | #7


Ветеран


Contributor


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

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


loromir, Если речь идёт о традиционных батниках, то:
Если оставлять не менее некоторого количества самых новых папок
Код: Выделить весь код
@Echo Off
Set "BoxIn=X:\192.168.10.230"
Set "Mask=20??-??-??"
Set /A N=30

FOR /F "usebackq Skip=%N% delims=" %%d IN (`Dir "%BoxIn%\%Mask%" /A:D /B /O:-N 2^>nul`) DO RD /S /Q "%BoxIn%\%%d"
Если очень хочется, удалять одну самую старую
Код: Выделить весь код
@Echo Off
Set "BoxIn=X:\192.168.10.230"
Set "Mask=20??-??-??"

FOR /F "usebackq delims=" %%d IN (`Dir "%BoxIn%\%Mask%" /A:D /B /O:N 2^>nul`) DO RD /S /Q "%BoxIn%\%%d" &GoTo :Eof
Почему мне это не нравится: по какой-то причине папки перестали писаться, а батник продолжает отрабатывать. Получим по максимуму вообще ничего. Можно ведь сообразить, сколько дней Вы можете позволить себе сохранять, с учетом того, что некоторое свободное место должно оставаться. А под завязку забивать пространство тоже опасно - а вдруг места на самое свеженькое (ИМХО, потому и самое важное) не хватит.
Если оставить гарантированное число папок, запускайте батник хоть сто раз на дню, беды не будет.
При работе батника "старость" папок определял по имени.

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


Последний раз редактировалось megaloman, 11-07-2017 в 18:32.

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:27, 11-07-2017 | #8


Новый участник


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

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


megaloman, супер!!! Спасибо большое! )

Отправлено: 12:38, 12-07-2017 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Ежедневное удаление определенного каталога (через крон)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Удаление из реестра определенного раздела Мирослав11 Скриптовые языки администрирования Windows 4 01-12-2016 18:37
CMD/BAT - удаление файлов из каталога FatalR Скриптовые языки администрирования Windows 3 28-10-2013 13:50
CMD/BAT - Удаление папок определенного вида demon_d13 Скриптовые языки администрирования Windows 1 28-03-2013 20:49
PowerShell - [решено] Удаление каталога Negativ Скриптовые языки администрирования Windows 2 25-01-2011 16:13
Разное - [решено] удаление каталога с подкаталогами lud Microsoft Windows 2000/XP 2 02-07-2009 15:57




 
Переход