Команда DEL удаляет один или несколько файлов из командной строки Windows. Это быстрый способ очистить каталог по маске, удалить файл без корзины или встроить удаление в bat-скрипт.
- Синтаксис команды DEL
- Ключи и параметры
- Примеры использования
- Удалить один файл
- Удалить несколько файлов сразу
- Очистить каталог от временных файлов по маске
- Рекурсивное удаление по всем подпапкам
- Принудительно удалить файл «только для чтения»
- Удалить файлы с подтверждением каждого
- Удалить только скрытые файлы
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Попадают ли удалённые командой DEL файлы в корзину?
- Можно ли отменить DEL?
- Как удалить файл с пробелами в имени?
- Чем DEL отличается от ERASE?
- Как удалить все файлы в папке, но не саму папку?
- Работает ли DEL с сетевыми путями?
Синтаксис команды DEL
DEL [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имя_файла [...]
Можно указать несколько имён через пробел, использовать маски (*, ?) и переменные среды. Псевдоним команды — ERASE.
Ключи и параметры
| Ключ | Описание | Пример |
|---|---|---|
/P | Запросить подтверждение перед каждым удалением | DEL /P report.log |
/F | Принудительно удалить файлы, помеченные «только для чтения» | DEL /F readme.txt |
/S | Удалить файлы во всех подкаталогах (рекурсия) | DEL /S *.tmp |
/Q | Тихий режим — не запрашивать подтверждение при маске * | DEL /Q /S *.bak |
/A:H | Удалить только скрытые файлы | DEL /A:H *.log |
/A:R | Удалить только файлы с атрибутом «только чтение» | DEL /A:R old.cfg |
/A:-A | Удалить файлы без атрибута архива (уже обработанные) | DEL /A:-A *.dat |
/? | Показать встроенную справку | DEL /? |
Примеры использования
Удалить один файл
Самый простой сценарий — удалить конкретный файл в текущем каталоге.
DEL report.txt
Если файл не защищён атрибутом «только чтение», он будет удалён немедленно без подтверждения.
Удалить несколько файлов сразу
Имена перечисляются через пробел; можно смешивать расширения.
DEL file1.txt file2.doc file3.jpg
CMD обработает каждое имя последовательно и сообщит, если файл не найден.
Очистить каталог от временных файлов по маске
Удобно для чистки после сборки или работы установщиков.
DEL /Q C:\Temp\*.tmp
Ключ /Q отключает запрос «Уверены?» при использовании маски *.
Рекурсивное удаление по всем подпапкам
Полезно, когда нужно вычистить .log-файлы по всему дереву каталогов.
DEL /S /Q D:\Logs\*.log
CMD пройдёт по всем вложенным папкам и удалит совпадения.
Принудительно удалить файл «только для чтения»
Без /F такие файлы пропускаются с ошибкой доступа.
DEL /F C:\Config\locked.cfg
После выполнения файл будет удалён, даже если атрибут R установлен.
Удалить файлы с подтверждением каждого
Подходит, когда вы не уверены в содержимом папки и хотите проверить каждое имя.
DEL /P /S C:\Old\*.*
Перед каждым удалением CMD покажет имя файла и ждёт нажатия Y/N.
Удалить только скрытые файлы
Фильтрация по атрибуту позволяет точечно убрать системные или скрытые файлы без риска затронуть остальные.
DEL /A:H C:\Folder\*
Видимые файлы остаются нетронутыми.
Частые ошибки и решения
| Ошибка | Причина | Решение |
|---|---|---|
| Не удаётся найти файл | Неверный путь или имя, файл не существует | Проверьте путь командой DIR; убедитесь, что расширение указано верно |
| Отказано в доступе | Файл открыт другим процессом или помечен «только чтение» | Закройте процесс, удерживающий файл, и добавьте ключ /F |
| Подтверждение не запрашивается, хотя ожидалось | Маска * без /Q должна запрашивать подтверждение, но флаг мог быть добавлен по умолчанию в скрипте | Явно укажите /P, если нужно подтверждение каждого файла |
| DEL не удаляет папку | DEL предназначена только для файлов; для папок нужна RMDIR или RD | Используйте RD /S /Q папка для удаления каталога |
Маска *.* не удаляет файлы без расширения | *.* в CMD означает «файлы с точкой в имени»; файлы без расширения не совпадают | Используйте маску * (без второй звёздочки) для удаления всех файлов |
Когда применять, а когда нет
DEL удобна в скриптах автоматизации, планировщике задач и при массовой чистке по маске. Команда работает на любом диске и файловой системе, доступной в Windows. Файлы удаляются в обход корзины — восстановить их стандартными средствами не получится, поэтому перед выполнением команды с /S /Q убедитесь в правильности пути. Каталоги командой DEL не удаляются. PowerShell-аналог — Remove-Item, который поддерживает трубы и объектно-ориентированную фильтрацию.
FAQ
Попадают ли удалённые командой DEL файлы в корзину?
Нет. DEL удаляет файлы минуя корзину. Восстановить их можно только специализированными утилитами восстановления данных, и только если поверх не была произведена новая запись на диск.
Можно ли отменить DEL?
Встроенных средств отмены нет. Единственный способ — утилиты восстановления файлов (например, Recuva). Чем быстрее вы их запустите после ошибочного удаления, тем выше шанс успеха.
Как удалить файл с пробелами в имени?
Заключите путь в двойные кавычки: DEL "C:\My Folder\my file.txt". Без кавычек CMD воспринимает каждое слово как отдельный аргумент.
Чем DEL отличается от ERASE?
Ничем. ERASE — это псевдоним DEL с идентичным синтаксисом и поведением. Оба варианта взаимозаменяемы.
Как удалить все файлы в папке, но не саму папку?
Выполните DEL /Q /S "C:\Folder\*". Папки останутся нетронутыми — DEL обрабатывает только файлы.
Работает ли DEL с сетевыми путями?
Да. Можно указать UNC-путь: DEL /Q "\\server\share\*.tmp". Требуются соответствующие права на запись в сетевую папку.


