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

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

Ответить
Настройки темы
CMD/BAT - [решено] Удалить все файлы кроме

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


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

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


Здравствуйте! Нужна помощь в написании скрипта:
Задача: удалить все файлы и каталога и всех подкаталогов, кроме файлов содержащих "bgi" в имени.
Код: Выделить весь код
for /d %%a in ("C:\1") do if /i not "%%a"=="*bgi*" (del/s/q %%~sa\*.*)
Этот скрипт трёт все файлы.

Отправлено: 09:29, 19-10-2015

 

Забанен


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

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


Примерно так:
Код: Выделить весь код
for /f %%i in ('dir /s /b ^| findstr /virc:".*bgi.*"') do del /f /q "%%i"
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:57, 19-10-2015 | #2



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

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


Ветеран


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

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


Цитата greg zakharov:
Примерно так: »
Недостаточно.
Цитата kas1m:
кроме файлов содержащих "bgi" в имени. »
…только в имени, а не в любом месте пути.

Отправлено: 10:42, 19-10-2015 | #3


Ветеран


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

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


Код: Выделить весь код
@for /f "delims=" %%a in ('2^>nul dir/a-d/b/s "C:\1\"^| findstr/eirvc:"\\[^\\]*bgi[^\\]*"') do @del/a/f "%%a"
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:07, 19-10-2015 | #4


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


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

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


Georgio, Прекрасно работает, спасибо!

А можно еще как-то папку исключить из удаления? Если в имени папки есть bgi - не удалять из неё ничего?

Последний раз редактировалось kas1m, 19-10-2015 в 11:58.


Отправлено: 11:25, 19-10-2015 | #5


Ветеран


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

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


Код: Выделить весь код
@for /f "delims=" %%a in ('2^>nul dir/a-d/b/s "C:\1\"^| findstr/eirvc:"\\[^\\]*bgi[^\\]*\\[^\\]*"^| findstr/eirvc:"\\[^\\]*bgi[^\\]*"') do @del/a/f "%%a"
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:45, 19-10-2015 | #6


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


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

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


Georgio, Огромное спасибо!

Отправлено: 13:07, 19-10-2015 | #7


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


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

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


Здравствуйте!
Задача: в корне папки удалить все файлы кроме перечисленных.
Подробнее: в корне папки LANG нужно оставить только файлы Ru.ini , En.ini , En.pdf , Ru.pdf ; остальные файлы - удалить, невзирая на расширения.
Например, чтобы оставить только файл Ru.ini , пользуюсь таким:
Код: Выделить весь код
for /f "tokens=*" %%v in ('dir /b "LANG\*.*"') do if NOT "%%v" == "Ru.ini" del "LANG\%%v"
Нельзя ли это как-то изменить (или предложить новое), чтобы оставить всю упомянутую группу файлов?

Последний раз редактировалось qaaqasqad, 13-03-2017 в 14:36.


Отправлено: 14:20, 13-03-2017 | #8


Ветеран


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

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


Код: Выделить весь код
… if NOT "%%v" == "Ru.ini" if NOT "%%v" == "En.ini" if NOT "%%v" == "En.pdf" if NOT "%%v" == "Ru.pdf" del "LANG\%%v"
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:27, 13-03-2017 | #9


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


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

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


Iska,
Спасибо! То, что нужно!

Отправлено: 16:36, 13-03-2017 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Удалить все наибольшие элементы, кроме первого, в списке целых чисел artyomartemyev96 Программирование и базы данных 0 01-03-2015 18:08
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД santey007 Скриптовые языки администрирования Windows 29 04-02-2015 10:53
CMD/BAT - [решено] удалить все пустые строки, кроме самой последней Alexander_88 Скриптовые языки администрирования Windows 8 05-01-2015 12:43
2010 - [решено] Как удалить все стили (кроме по умолчанию) в ворд? Pozia Microsoft Office (Word, Excel, Outlook и т.д.) 13 31-03-2012 19:28
CMD/BAT - [решено] Удалить все файлы из папки кроме нужных Sirimika Скриптовые языки администрирования Windows 16 12-11-2010 10:33




 
Переход