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

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

Ветеран


Contributor


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

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


Цитата kiripanda:
FOR /F "usebackq skip=%2 delims=" %%i IN (`Dir /B /A:D /O:D "%~1\"`) DO RD /S/Q "%~1\%%i"
Так Вы оставите самые старые папки. Спасибо, заставили внимательнее прочесть хелп Dir
Цитата:
/O Сортировка списка отображаемых файлов.
D По дате (сперва более старые)
Префикс "-" обращает порядок
Мой код упростится вообще до минимума
Код: Выделить весь код
@Echo off
rem Пути указываем без кавычек и без \ на конце
rem -------------------------------------------

Set HowMuch=1
Set Where=F:\Delete\Install
Call :LimCountDir "%Where%" %HowMuch%

Set HowMuch=5
Set Where=\\SERVER_NT\{Общая}\Delete\Install
Call :LimCountDir "%Where%" %HowMuch%

GoTo :Eof

:LimCountDir
FOR /F "usebackq skip=%2 delims=" %%i IN (`Dir /B /A:D /O:-D "%~1\"`) DO Rd "%~1\%%i" /S /Q
GoTo :Eof

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


Последний раз редактировалось megaloman, 16-09-2010 в 10:14.


Отправлено: 10:00, 16-09-2010 | #5