Удаление папки через командную строку¶
Удаление папки через командную строку — операция удаления каталога (папки) в файловой системе с использованием текстовых команд оболочки операционной системы, без применения графического интерфейса. В Windows для этого используется командная строка (cmd.exe) и утилита rmdir (или rd), в Linux и macOS — оболочка Bash (или аналогичная) и утилита rm. Командный подход позволяет удалять папки рекурсивно, массово по маске, скрытые или защищённые от удаления каталоги, а также автоматизировать операции через скрипты.
¶Удаление папки в Windows (cmd)
¶Команда rmdir (rd)
В Windows основной утилитой удаления каталогов является rmdir (синоним — rd). Она встроена в cmd.exe и не требует установки дополнительного программного обеспечения.
Базовый синтаксис:
`` rmdir [параметры] путь_к_папке ``
Примеры:
rmdir C:\Users\Иван\Документы\Проект— удалить пустую папкуПроект;rmdir "C:\Program Files\Старый софт"— удалить папку с пробелами в имени (путь обязательно заключается в кавычки);rmdir /s /q D:\Архив— удалить папкуАрхиввместе со всем содержимым без подтверждения.
¶Основные параметры
| Параметр | Назначение |
|---|---|
/s | Удаляет папку рекурсивно — вместе с подпапками и файлами |
/q | Тихий режим (quiet) — отключает запрос подтверждения при удалении непустой папки |
/f | Принудительно удаляет только файлы с атрибутом «только для чтения» |
Параметры можно комбинировать: rmdir /s /q — самая распространённая связка, удаляющая непустую папку без вопросов.
¶Удаление скрытых и системных папок
По умолчанию rmdir может не удалять папки со скрытым или системным атрибутом. Перед удалением атрибуты снимаются командой attrib:
`` attrib -h -s -r "C:\Путь\К\Папке" /s /d rmdir /s /q "C:\Путь\К\Папке" ``
Здесь -h снимает атрибут «скрытый», -s — «системный», -r — «только для чтение», а /s /d распространяет действие на все вложенные файлы и папки.
¶Удаление временных папок
Через командную строку можно очищать стандартные каталоги временных файлов:
`` rmdir /s /q %TEMP% ``
Переменная %TEMP% указывает на папку временных файлов текущего пользователя (обычно C:\Users\<имя>\AppData\Local\Temp). После удаления папку рекомендуется пересоздать командой mkdir %TEMP%.
¶Удаление папки в Linux и macOS (Bash)
¶Команда rm
В Unix-подобных системах удаление каталогов выполняется утилитой rm (remove). Для удаления папки обязательно указывается параметр -r (recursive) или -R.
Базовый синтаксис:
`` rm -rf путь_к_папке ``
Примеры:
rm -r ~/Проект— удалить папкуПроектв домашнем каталоге (с подтверждением на каждый файл);rm -rf ~/Проект— удалить без подтверждений;rm -r "Мои документы"— удалить папку с пробелами в имени.
¶Основные параметры
| Параметр | Назначение |
|---|---|
-r, -R | Рекурсивное удаление папки вместе с содержимым |
-f | Принудительный режим без запроса подтверждения |
-i | Интерактивный режим — запрос подтверждения перед каждым удалением |
-v | Подробный вывод — перечисляет удаляемые файлы |
¶Удаление защищённых файлов
Если файл защищён от записи, rm -i запросит подтверждение. Для принудительного удаления используется rm -f. Для удаления папок, принадлежащих другим пользователям или находящихся в системных каталогах, требуется запуск от суперпользователя через sudo:
`` sudo rm -rf /var/log/старые_логи ``
¶Массовое удаление папок по маске
При необходимости удалить множество папок, соответствующих шаблону имён, используются шаблоны поиска (globbing).
В Windows (cmd):
`` for /d %i in (C:\Работа\)_бэкап do rd /s /q "%i" ``
В Bash:
`` rm -rf ~/Работа/_бэкап ``
¶Ограничения и безопасность
Командное удаление не перемещает папку в корзину — файлы удаляются безвозвратно. Ошибочно указанный путь (например, rm -rf / или rmdir /s /q C:\) может привести к потере данных всей системы. Перед выполнением рекомендуется проверить содержимое папки командами dir (Windows) или ls (Linux), а при массовом удалении — сначала выполнить «пробный прогон» с выводом списка удаляемых элементов (параметр -v в rm или echo вместо rd в цикле for).
В PowerShell, альтернативной оболочке Windows, удаление папок выполняется командой Remove-Item:
`` Remove-Item -Recurse -Force "C:\Путь\К\Папке" ``
Источники:
- Руководство Microsoft по команде rmdir (Microsoft Learn)
- GNU Coreutils manual: rm (GNU Project)
- Bash Reference Manual (GNU Project)
- Документация PowerShell: Remove-Item (Microsoft Learn)
