ERASE — удаление файлов из командной строки Windows

ERASE удаляет файлы без корзины — напрямую с диска. Полный синтаксис, ключи /P /F /S /Q, маски, типичные ошибки и отличия от DEL.

Команда ERASE удаляет один или несколько файлов напрямую, минуя корзину. Она полностью идентична команде DEL — это два имени для одной встроенной функции cmd.exe. Удалённые файлы восстановить стандартными средствами Windows невозможно, поэтому перед массовым удалением рекомендуется проверить список командой DIR.

Синтаксис команды ERASE

ERASE [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена_файлов

Параметры:

  • имена_файлов — один или несколько путей к файлам; можно использовать маски * и ?.
  • /P — запрашивать подтверждение перед удалением каждого файла.
  • /F — принудительно удалять файлы с атрибутом «только чтение».
  • /S — удалять файлы во всех подпапках (рекурсивно).
  • /Q — тихий режим: не запрашивать подтверждение при удалении по маске.
  • /A атрибуты — удалять только файлы с указанными атрибутами: R (только чтение), H (скрытый), S (системный), A (для архивирования), - перед буквой — исключить.

Ключи и параметры

Ключ Описание Пример
/P Подтверждение перед каждым файлом erase /P *.log
/F Удалить файлы «только чтение» erase /F readme.txt
/S Рекурсивное удаление во всех подпапках erase /S *.tmp
/Q Без запроса подтверждения при маске erase /Q /S *.bak
/A:R Только файлы с атрибутом «только чтение» erase /A:R *
/A:H Только скрытые файлы erase /A:H *.tmp
/A:-H Только НЕскрытые файлы erase /A:-H *.log
/A:S Только системные файлы erase /A:S old.sys

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

Удаление одного файла

Простейший случай — убрать конкретный файл из текущей папки.

ERASE report.txt

Файл удаляется немедленно без запроса. Если файл не найден — команда выведет сообщение об ошибке.

Удаление нескольких файлов по маске

Очистить папку от всех временных файлов одной командой.

ERASE C:\Windows\Temp\*.tmp

При использовании маски в интерактивной сессии CMD спросит подтверждение. В скриптах добавьте /Q, чтобы избежать запроса.

Рекурсивное удаление файлов во всех подпапках

Удалить все лог-файлы из дерева папок, не трогая другие файлы.

ERASE /S /Q C:\Logs\*.log

Ключ /S обходит все вложенные папки, /Q отключает запрос подтверждения.

Удаление файлов с атрибутом «только чтение»

Файлы, заблокированные как «только чтение», требуют ключа /F.

ERASE /F /Q *.lock

Без /F команда выведет «Доступ запрещён» и пропустит файл.

Удаление с подтверждением каждого файла

Перед удалением большого числа файлов убедиться, что каждый из них действительно нужно удалить.

ERASE /P /S *.doc

Для каждого найденного файла будет выведен запрос Удалить (Y/N)? — нужно ввести Y или N.

Удаление только скрытых файлов

Очистить папку от скрытых временных файлов, не затрагивая обычные.

ERASE /A:H C:\Users\%USERNAME%\AppData\Local\Temp\*

Удаляются только файлы с установленным атрибутом Hidden. Обычные файлы в папке останутся.

Проверка перед удалением — сначала DIR

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

DIR /B C:\Work\*.bak
ERASE /Q C:\Work\*.bak

Первая команда выводит список без удаления, вторая удаляет. Это надёжная практика при работе с масками.

Частые ошибки и решения

Ошибка / симптом Причина Решение
«Не удается найти файл» Путь или имя файла указаны неверно, или файл уже удалён Проверить путь командой DIR перед удалением
«Отказано в доступе» Файл открыт другим процессом, или у текущего пользователя нет прав на удаление Закрыть приложение, использующее файл; или запустить CMD от имени администратора
Файл «только чтение» не удаляется Атрибут Read-only блокирует удаление без /F Добавить ключ /F: erase /F имя_файла
Маска *.* не удаляет файлы без расширения В Windows маска *.* в некоторых контекстах не захватывает файлы без точки Использовать просто * вместо *.*
Скрипт подвисает на запросе подтверждения Удаление по маске без ключа /Q в bat-файле ждёт ввода Добавить /Q для тихого режима в автоматизированных скриптах

Когда применять, а когда нет

ERASE подходит для быстрой очистки временных файлов, удаления по маске в скриптах резервного копирования и автоматического обслуживания систем. Она не умеет удалять папки — для этого используйте RMDIR /S /Q. Файлы, заблокированные системой или процессом, она не удалит даже с ключом /F — потребуется остановить процесс или использовать инструменты типа Unlocker. В PowerShell аналог — Remove-Item: поддерживает рекурсию (-Recurse), фильтры (-Filter), принудительное удаление (-Force) и возвращает объекты для дальнейшей обработки. Используйте PowerShell, когда нужна дополнительная логика — условия, логирование, обработка ошибок.

FAQ

В чём разница между ERASE и DEL?

Никакой разницы нет. ERASE и DEL — два синонима одной встроенной команды cmd.exe. Поддерживают одинаковые ключи и одинаково обрабатывают маски.

Можно ли восстановить файл после ERASE?

Стандартными средствами Windows — нет. ERASE удаляет файлы минуя корзину. Восстановление возможно только специализированными утилитами (Recuva, TestDisk) и только если данные ещё не были перезаписаны на диске.

Как удалить файл, который занят другим процессом?

ERASE не может удалить заблокированный файл. Определите процесс командой handle.exe из Sysinternals или через Resource Monitor, завершите его, затем выполните ERASE.

Удаляет ли ERASE /S саму папку?

Нет. Ключ /S рекурсивно удаляет файлы, соответствующие маске, из всех подпапок — но сами папки остаются. Для удаления папок используйте RMDIR /S /Q.

Как удалить файлы старше 30 дней через CMD?

ERASE не умеет фильтровать по дате. Используйте связку: forfiles /P путь /S /M *.log /D -30 /C "cmd /c del @path" — команда FORFILES отберёт файлы старше 30 дней и выполнит удаление.

Безопасно ли использовать ERASE с маской * в системных папках?

Крайне опасно. Системные файлы Windows, удалённые по маске, могут сделать систему незагружаемой. Всегда проверяйте список командой DIR /B маска перед удалением и никогда не запускайте ERASE с широкими масками в папках типа %windir%\System32.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.