Команда RMDIR имеет синоним RD и предназначена для удаления каталогов файловой системы Windows.
1. Описание команды RMDIR.
1.1. Формат командной строки:
C:\ RMDIR [/S] [/Q] [диск:]путь C:\ 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».
Ниже приведенный командный файл удаляет пустые папки в каталоге временных файлов, определяемом значением переменной окружения TEMP. Список удаленных папок записывается в файл с именем c:\tempfoldersempty.txt
@echo off
cd %TEMP%
FOR /D %%i in (*) do (
RMDIR /Q %%~i && echo %%~i >> c:\tempfoldersempty.txt
)
REM end