Использование подстановочных знаков с помощью команды rmdir или rd

Предположим, что есть папка в диске D: :

 D:\Air D:\Abonden D:\All D:\Whatever 

Я хочу удалить все папки, начиная с «A» (включая все подпапки и файлы). Я пробовал эту команду:

 rmdir D:\A* /s /q 

Я получаю сообщение об ошибке, хотя 🙁

Неверное имя файла, имя каталога или тома.

Команда del работает с * , но мне также нужно удалить папки.
Есть ли способ достичь этого с помощью команды rmdir ?

4 Solutions collect form web for “Использование подстановочных знаков с помощью команды rmdir или rd”

 cd c:\temp for /f %i in ('dir /a:d /s /b A*') do rd /s /q %i 

Используйте это, чтобы проверить:

 for /f %i in ('dir /a:d /s /b A*') do echo rd /s /q %i 

Это вытолкнет команды, которые будут запущены в командной строке, и позволит вам увидеть, что происходит.

Имейте в виду, что это также будет искать подпапки, такие как «C: \ temp \ jjj \ aaa», и удалит папку aaa. Если вы хотите, чтобы он просто смотрел папки верхнего уровня «C: \ temp \ aaa», затем удалите "/s" из этой команды.

Ключом к этому является A *, где вы должны ввести строку поиска. Это позволит использовать подстановочные знаки, такие как aaa* , aaa* и *aaa* если вы этого хотите.

Удаление папок с помощью подстановочных знаков

Команда rmdir / rd сама по себе не поддерживает подстановочные знаки (то есть * и ? ). Вы можете обойти это ограничение, обернув его в цикл for .

Пример использования

 for /d %G in ("X:\A*") do rd /s /q "%~G" 

Примечание. При удалении файлов и папок вы можете сначала заменить команду rd echo . Таким образом вы можете гарантировать, что все, что не должно быть удалено, на самом деле было бы.

Несколько шаблонов

Чтобы удалить несколько папок, соответствующих различным шаблонам, синтаксис не слишком отличается. Как правильно указал @dbenham, достаточно однострочной команды. Вы также можете указать разные пути:

 for /d %G in ("X:\A*","Y:\Whatever\B*","Z:\C?D") do rd /s /q "%~G" 

Бонус – проверка наличия папки

Если вы хотите проверить, существуют ли определенные папки, вы можете использовать следующую команду:

 dir /b /a:d "X:\A*" >nul 2>&1 && echo Folders exist. || echo No folders found. 

дальнейшее чтение

  • For / d – Переключение по каталогу
  • Условное исполнение
  • Справочник по командной строке

Как никто еще не рассказывал OP о фазах?

forfiles /PD:\ /MA* /C "cmd /c if @isdir==TRUE rmdir /s /q @file"

 / M - маска поиска, ища файлы, начинающиеся с A
 / P - это путь - где начинается поиск
 / S - это рекурсивные подпапки (сюда не включалось, потому что op не спрашивал)
 / C - команда для выполнения

Ответ adn31415 правильный, но ломается, если вы помещаете это в пакетный или cmd-скрипт. Я ударил головой в течение нескольких часов, пока не понял, как вы его используете.

В окне командной строки DOS:

 for /d %G in ("X:\A*") do rd /s /q "%~G" 

В сценарии Batch или cmd:

 for /d %%G in ("X:\A*") do rd /s /q "%%~G" 

Если вы хотите поместить его в файл «.bat» или «.cmd», вам нужно удвоить символы «%».

  • Перезагрузка Windows в safemode из командной строки
  • Как преобразовать Word (doc) в PDF из командной строки Windows?
  • Как открыть консольное приложение с заданным размером окна?
  • CMD MOVE не может заменить каталоги в WIN 7
  • Команда для просмотра всех команд Windows
  • Изменения ftype игнорируются. Где Windows извлекает «неправильное» значение? Как я могу применить свои изменения?
  • Включение и отключение устройства Windows 7 через командную строку
  • Заблокируйте раздел реестра, чтобы предотвратить переписывание или удаление случайно или намеренно с помощью командной строки
  • Измените размер командной строки командной строки Windows?
  • Добавление Bash в Ubuntu в Windows 10 в контекстное меню проводника (выпуски)
  • В чем разница между консолью, терминалом и командной строкой?
  • Сделайте снимок экрана из командной строки в Windows
  • Interesting Posts

    Неужели беспроводной ретранслятор замедляет работу для всех?

    Используйте трекбол для прокрутки, масштабирования и т. Д.

    Совместное использование паролей в небольшой команде

    Применить формулу VLOOKUP к нескольким листам

    Как выполнить команду при каждом изменении файла?

    Отключить просмотр SSL в Chrome

    Gcc не находит файл заголовка, хотя его путь был включен в -I

    Планировщик запуска триггеров в Windows 7, когда компьютер просыпается от сна / спящего режима

    Как узнать, когда последний раз был перезагружен Windows?

    Могу ли я обновить доступ к беспроводной сети, переключив маршрутизатор с 802.11g на 802.11n без обновления всех клиентов?

    Excel vba: копировать строки, если данные соответствуют значениям в столбце на другом листе

    Перемещение пользовательских папок в Mac OS X?

    Разрешить сетевой трафик только для определенных программ в Windows 7

    Команда командной строки (cmd) для блокировки машины Windows

    Сценарий взлома или Greasemonkey для перемещения по кнопке «Расширенный поиск» на странице поиска Google?

    Давайте будем гением компьютера.