|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удалить папки в папках |
|
|
CMD/BAT - Удалить папки в папках
|
Пользователь Сообщения: 83 |
Помогите сделать скрипт для удаление папок. Нужно удалить папки Folder1 и Folder3 в папках со звездочкой.
Пример : Folder1 { Folder1*<<Folder1,Folder2,Folder3 Folder2*<<Folder1,Folder2,Folder3 Folder3*<<Folder1,Folder2,Folder3 Folder4*<<Folder1,Folder2,Folder3 Folder5*<<Folder1,Folder2,Folder3 } "<<" значит что "Folder1,Folder2,Folder3" находятся в данной папке. "Куда смотрит клюв" |
|
Отправлено: 14:41, 18-10-2016 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать GIGABAIT, плохой пример: в именах файлов и каталогов FATx и NTFS не поддерживается символ «*».
|
Отправлено: 15:16, 18-10-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 15:52, 18-10-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать GIGABAIT, раз неважно — тогда возьмите в руки tree.exe и приведите нормальный пример.
|
Отправлено: 16:10, 18-10-2016 | #4 |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать Цитата Iska:
D:. ├───Папка1 │ ├───Папка1 Удалить │ ├───Папка2 │ └───Папка3 Удалить ├───Папка2 │ ├───Папка1 Удалить │ ├───Папка2 │ └───Папка3 Удалить ├───Папка3 │ ├───Папка1 Удалить │ ├───Папка2 │ └───Папка3 Удалить ├───Папка4 │ ├───Папка1 Удалить │ ├───Папка2 │ └───Папка3 Удалить └───Папка5 ├───Папка1 Удалить ├───Папка2 └───Папка3 Удалить Я приписал к папке "Удалить" которою нужно удалить. |
||
Отправлено: 16:48, 18-10-2016 | #5 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Странная какая-то задача, но...
pushd d:\test for /f "delims=" %%i in ('dir .\ /a:d /b') do ( if exist "%%i\folder1" rd /s /q "%%i\folder1" if exist "%%i\folder3" rd /s /q "%%i\folder3" ) popd Если в названии папок присутствуют кирилические символы cmd\bat сохранять в 866 кодировке |
Отправлено: 17:04, 18-10-2016 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:06, 18-10-2016 | #7 |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Elven:
Возможно это нужно было сказать сначала , но я об этом чет не подумал... Использовав команду "pushd d:\test" или цикл for найти в этой папке , в нашем случае это "d:\test" все папки c именем "blabla" и удалить , либо другое имя(не важно) ? т.к. данный скрипт работает только с такой структурой папкой которую я выше кинул. т.к. я не думал что вы сделаете скрипт для данной структуры папок , а я думал что вы сделаете чтоб он проверил данную папку(в нашем случае это test) и все под- папки в ней на "blabla"(или другое имя) папки и удалит их . P.S "forfiles" не подходит ? P.S Сделал данный скрипт : Но нельзя ли добавить несколько масок ? Т.е где добавить еще к этому Но есть одна проблема из-за того что идет /S он удаляет все папки с этим названием. Пример 3: ├───materials │ └───models (А он удаляет и эту : / но ее не нужно удалять.) │ └───weapons │ │ │ ├───models "Хочу чтоб эту удалил и остальные ниже т.е (models scripts sound)" │ └───weapons ├───scripts │ └───weapons └───sound └───weapons Или нужно сделать чтоб он удалял ВСЕ папки используя эту команду кроме папки materials и ее подпапок. Вообщем несколько раз дополнял , надеюсь понятно вышло. |
||
Последний раз редактировалось GIGABAIT, 18-10-2016 в 19:53. Отправлено: 18:01, 18-10-2016 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата GIGABAIT:
|
|
Отправлено: 19:52, 18-10-2016 | #9 |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Но нельзя ли сделать скрипт как я описал выше ? Т.е он будет проверять "test" папку и ее подпапки на "folder1" папки и будет удалять их ? Но добавив маску на folder2 и в ней будет подпапка folder1 которую он не будет удалять. То-есть обратная маска ? Пример 3 : ├───materials │ └───models │ └───weapons │ │ │ ├───models 1 │ └───weapons ├───scripts │ └───weapons └───sound └───weapons Пример 4 : Скрытый текст
Test ├───Folder4 │ ├───Folder1 │ │ ├───Folder2 │ │ │ ├───Folder1 │ │ │ │ └───Folder2 │ │ │ │ └───Папка2 │ │ │ └───Folder3 │ │ │ └───Папка2 │ │ └───Folder3 │ │ └───Папка2 │ ├───Folder2 │ │ ├───Folder1 │ │ │ └───Folder2 │ │ │ └───Папка2 │ │ └───Folder3 │ │ └───Delthis ------------------ │ └───Folder3 │ ├───Folder1 │ │ ├───Folder2 │ │ │ ├───Folder1 │ │ │ │ └───Folder2 │ │ │ │ └───Папка2 │ │ │ ├───Folder3 │ │ │ │ └───Папка2 │ │ │ └───Папка2 │ │ └───Folder3 │ │ └───Папка2 │ └───Folder2 │ ├───Folder1 │ │ └───Folder2 │ │ └───Папка2 │ └───Folder3 │ ├───Folder1 │ │ ├───Folder2 │ │ │ ├───Folder1 │ │ │ │ └───Folder2 │ │ │ │ └───Папка2 │ │ │ └───Folder3 │ │ │ └───Папка2 │ │ └───Folder3 │ │ └───Папка2 │ └───Folder2 │ ├───Folder1 │ │ └───Folder2 │ └───Folder3 │ └───Delthis ------------------ └───Folder5 ├───Folder1 │ ├───Folder1 │ │ ├───Folder2 │ │ │ └───Folder1 │ │ └───Folder3 │ ├───Folder2 │ └───Folder3 │ └───Folder3 ├───Folder2 │ └───Папка2 └───Folder3 └───Delthis В примере 4 видно что я хочу объяснить. Цикл или FORFILES должен пройтись по всем этим папкам и подпапкам , и удалить папки "folder3" с подпапкой delthis но не трогать другие папки folder3. Цитата Elven:
|
||
Последний раз редактировалось GIGABAIT, 19-10-2016 в 06:40. Отправлено: 06:34, 19-10-2016 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Темы и Стили - Немного увлечить отступление между файлы в папках(но не папки) | Andre4s11 | Оформление Windows 11/ 10 / 8 / 7 / Vista | 0 | 05-02-2016 22:02 | |
Службы - [решено] удалить Удалить содержимое папки | IZOprogman | Microsoft Windows 7 | 5 | 31-05-2015 19:52 | |
Разное - Какие папки можно удалить? | dimka11 | Microsoft Windows 8 и 8.1 | 1 | 20-09-2012 01:10 | |
Разное - какие файлы и папки я могу смело удалить из папки windows | fyt | Microsoft Windows 2000/XP | 6 | 05-01-2012 18:14 | |
Разное - Как удалить профильные папки из Личной Папки без последствий? | Котяр | Microsoft Windows 7 | 0 | 28-11-2009 20:36 |
|