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

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

Ветеран


Contributor


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

Профиль | Отправить 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