Команда RMDIR имеет синоним RD и предназначена для удаления каталогов файловой системы Windows.

1. Описание команды RD.

1.1. Формат командной строки:

RMDIR [/S] [/Q] [диск:]путь

RD [/S] [/Q] [диск:]путь

1.2. Параметры командной строки:

  • /S — Удаление дерева каталогов, т. е. не только указанного каталога, но и всех содержащихся в нем файлов и подкаталогов.
  • /Q — Отключение запроса подтверждения при удалении дерева каталогов с помощью ключа /S.

2. Примеры использования команды RD ( RMDIR).

Команда RD не поддерживает шаблоны имен файлов и подкаталогов. Так, например, попытка выполнения команды RD C:\Users\*.*, завершится сообщением об ошибке в имени каталога.

2.1. Однако, в качестве параметров можно задавать несколько путей каталогов. Выполнить удаление содержимого папок C:\Mydocs и C:\Myprogs:

C:\ RD C:\Mydocs C:\Myprogs

2.2. выполнить удаление папки C:\docs. Если параметр /S не задан, то удаляемая папка C:\docs должна быть пустой:

C:\ RD C:\docs

2.3. Удаление папки C:\Docs и всех ее подпапок без запроса на подтверждение:

C:\ RD /S /Q C:\Docs

Особенность реализации команды RD с параметром /S заключается в том, что будут удалены не только подкаталоги, но и сам каталог C:\Docs, даже если в нем существовали файлы, а не подпапки. Поэтому, для удаления только содержимого каталога ( когда требуется сделать каталог пустым, а не удалить его совсем), можно воспользоваться следующим приемом – сделать удаляемый каталог текущим и выполнить команду RD по отношению к его содержимому:

C:\ CD "My Folder"

C:\ RD /s/q "My Folder"

Имя каталога, содержащее пробелы заключается в двойные кавычки. Поскольку команда CD сделала удаляемый каталог текущим, то его удаление не выполнится , а ключ /S приведет к удалению всех подкаталогов и файлов каталога «My Folder».

2.4. Ниже приведенный командный файл удаляет пустые папки в каталоге временных файлов, определяемом значением переменной окружения TEMP. Список удаленных папок записывается в файл с именем c:\tempfoldersempty.txt

@echo off

cd %TEMP%

FOR /D %%i in (*) do (

RMDIR /Q %%~i && echo %%~i >> c:\tempfoldersempty.txt

)

REM end