У меня много много каталогов. Допустим, dir1, dir2, dir3, и у каждого каталога есть подкаталог с именем tempdir.

Я хочу удалить все файлы в tempdir из dir1 в dir3, не заходя в каждый каталог вручную. Будет ли удален сам tempdir или нет, это не проблема.

3 ответа3

5

Попробуй del /S directory

Перейдите в каталог выше и выполните это.

1

Перейдите в Поиск и выполните поиск tempdir в каталогах, которые вы хотите сканировать. Возьмите все результаты и нажмите Удалить.

Дамм легко :)

0

Это может быть не для всех, но я люблю это, сначала понять несколько вещей.
1) Я люблю и использую материал командной строки, потому что создание пакетных файлов для выполнения избыточных задач предпочтительнее для меня.
2) Я всегда расширяю возможности своей командной строки, используя стандартные команды gnu linux, перенесенные в windows. Их можно найти по адресу http://sourceforge.net/projects/unxutils/. Я просто беру интересующие меня exe-файлы из ZIP-файла (они находятся в каталоге /usr /local /wbin ZIP-файла) и помещаю их в какой-то каталог по моему пути. Поскольку я использую их так часто, я фактически помещаю их все в каталог /unix и помещаю это первым в путь.
3) Для этой задачи необходимы специальные утилиты find и rm. Если вы получили конфликт с командой find и Windows find, просто используйте весь путь в команде.

Чтобы сосредоточиться на простом удалении каталогов tempdir, предполагая, что в dir1 dir2 dir3 могут быть другие файлы или каталоги, я бы сделал следующее.

Перейдите в каталог, который является родителем dir1 dir2 dir3 и выполните

find . -name tempdir -type d -depth -ok rm -rf {} ;

это означает следующее

find .          - Start in this directory and find something for me.
-name temdir    - The name of what we are looking for.
-type d         - Look for directories (named as above).
-depth          - Look down the tree first so if you remove something it won't complain.
-ok rm -rf {} ; - The real power ok just means to ask before doing anything, 

если все в порядке, то замените на exec, тогда это будет просто к нему. Поэтому выполните следующую команду rm -rf для всех соответствующих "найденных записей" или, другими словами, удалите рекурсивно принудительное удаление всех каталогов с именем temdir.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .