пятница, 12 апреля 2013 г.

Очистка папки без удаления определенного файла

Для очистки папки без удаления определенного файла нам необходимо создать файл скрипта со следующим содержанием:

for /f "delims=" %%i in ('dir "C:\Folder" /a:d /b') do rmdir /s /q "C:\Folder\%%i"
for %%i in ("C:\Folder\*.*") do if not "%%i"=="C:\Folder\dont_delete.txt" del "%%i"

Первая строка осуществляет поиск подпапок в заданной нами папке (С:\Folder) и удаляет их вместе с содержимым без запроса на подтверждение. Вторая строка осуществляет поиск указанного нами файла (dont_delete.txt) в корневой папке. Если он присутствует, то соответственно, исключается из удаления всех файлов в нашей папке.

В случае если необходимо оставить только файлы с определенным расширением, то необходимо заменить название файла на маску (например *.txt).

P.S. Если путь к папке будет очень длинным, в таком случае его можно задать как переменную.

Комментариев нет:

Отправить комментарий