Как удалить файл через командную строку windows 10
Обычно вряд ли у кого-то может возникнуть проблема с удалением файлов в привычной нам Windows, но бывает такая ситуация, когда файл ну просто не удаляется стандартным способом. Как же поступить в данной ситуации, конечно же, воспользоваться возможностью удаления файлов через командную строку.
Само по себе удаление файла в операционной системе Windows очень простая операция. В данной ОС, нужно просто кликнуть правой кнопкой мыши на ненужный файл, а затем нажать «Удалить», или же выполнить удаление при помощи клавиши Delete на клавиатуре, но перед этим конечно же его выбрать.
Но иногда может встретиться файл, который просто так, щелчком мыши удалить не получится. Безусловно, существует довольно большой выбор бесплатных приложений, который помогут в удаление такого рода файлов. Но в большинстве случаев ни какие сторонние программы не понадобятся, ведь можно произвести удаление файлов через командную строку. Даже если использование командной строки для вас является чем-то не изведанным, то это не так сложно, как может показаться на первый взгляд.
Для получения необходимого результата — следуйте ниже приведённой инструкции, а само удаление файла через командную строку возможно в любой версии Windows.
Внимание: при удалении файла из командной строки, он не будет так же, как и при стандартном удаление перемещён в корзину – файл будет удалён безвозвратно! Поэтому если файл не такой уж и ненужный, а может даже наоборот, очень нужный, то есть необходимость в создание его резервной копии перед удалением.
Удаление файлов с использованием командной строки
Для удаления конкретного файла, нужно в первую очередь знать его путь до него. Для того что бы узнать путь к файлу необходимо зажать удерживать клавишу Shift , прежде чем щёлкнуть по нему правой кнопкой мыши и только после этого выбрать Копировать как путь — опция для копирования пути.

Для последующего удаления файла из командной строки Windows, нужно произвести её запуск используя клавиши WIN + R . Читать: «Как открыть командную строку в Windows 10?».

Следующий шаг необходим для удаления самого файла:
Вводим команду del и после пробела вставляем правой кнопкой мыши скопированный путь до файла:
del “C:\Папка с не нужными файлами\Не нужный файл.txt”

И только после этого нажимаем клавишу Enter , в этом варианте файл удаляется без какого-либо предупреждения.
Командная строка в Windows 7/8 / 8.1 не позволяет вставить с помощью комбинации Ctrl + V . Вы должны щелкните правой кнопкой мыши, а затем нажмите опцию Вставить . Тем не менее, в Windows 10, вы можете вставить путь, нажав Ctrl + V при помощи клавиш.
Если вы получаете ошибку «Не удаётся найти», то скорее всего, потому что-либо не указано расширение файла, либо введён неверный путь.
Если есть необходимость в подтверждение о удаление файла, то непосредственно перед удалением нужно ввести команду таким образом и не забываем про пробел:
Пример: del/P “C:\Папка с не нужными файлами\Не нужный файл.txt”

И если вы получаете предупреждение «Доступ запрещен», то, скорее всего из-за его атрибута только для чтения. Что же нужно делать для удаления файла из командной строки принудительно, например, с атрибутом только для чтения?
Пример: del/F “C:\Папка с не нужными файлами\Не нужный файл.txt”

Для удаления всех файлов в папке, нужен путь, который имеет папка:
del/a “C:\Папка с не нужными файлами\Не нужный файл.txt”
Обратите внимание, что папки и вложенные папки в данном случае удалены не будут.
Удаление файлов через командную строку произведено, при чём несколькими способами, для кого-то будет достаточно самого простого, а для кого-то подойдут другие описанные способы.
Несколько способов удалить файл в Windows (простое и гарантированное удаление)
Как удалить файл (папку) в Windows, от простого удаления до гарантированного удаления с защитой от программ восстановления данных.
- Удалить файл в «Корзину»
- Безвозвратное удаление
- Гарантированное удаление файлов
- Удаление через командную строку
- Удаление через PowerShell
- Сравнительная таблица вариантов
Статья на других языках:
Удалить файл в «Корзину»
💡 Для выделения нескольких файлов или папок, удерживайте специальную кнопку и нажмите левую клавишу мыши:
- Ctrl — выделение определенного файла или папки;
- Shift — выделение диапазона файлов или папок.
Как удалить файл (папку) с помощью меню
- Щелкните правой клавишей мыши по документу или папке;
- Выберите пункт Удалить ;
- Нажмите Да в запросе на подтверждение.
Файл удалится в «Корзину».
Как удалить файл (папку) с помощью кнопки
- Выделите документ;
- Нажмите клавишу Del ;
- Нажмите Да в запросе на подтверждение.
Файл удалится в «Корзину».
Отключить (включить) подтверждение удаления
- Щелкните по значку Корзина правой клавишей мыши;
- Выберите пункт Свойства ;
- Отключите пункт Запрашивать подтверждение на удаление .
💡 Если вы только что удалили нужный файл, нажмите комбинацию кнопок Ctrl + Z. Это отменит ваше последнее действие в Windows, удаленный файл или папка вернется на место.
Восстановить файлы из Корзины
- Откройте Корзина ;
- Выберите нужный файл или папку;
- Щелкните правой клавишей по выбранному файлу;
- Выберите Восстановить .
Файл будет восстановлен в ту папку из которой он был удален.
Вы можете перенести файл (или папку) из корзины в нужную вам папку.
Нажмите и удерживайте левую клавишу мыши на выделенном файле и перетащите его в нужную вам папку или Рабочий стол.
Очистить корзину
Вы можете удалить все файлы из «Корзина»
- Щелкните по «Корзина» правой клавишей мыши;
- Нажмите Очистить корзину.
🔔 Это безвозвратное удаление данных!
Безвозвратное удаление
- Выделите файл или папку;
- Нажмите комбинацию кнопок Shift + Del;
- Нажмите Да в запросе на подтверждение.
🔔 Это безвозвратное удаление данных!
Гарантированное удаление файлов
Гарантированное удаление данных на активном диске
Для гарантированного удаления данных используем стандартную утилиту CIPHER.
Cipher.exe — это утилита командной строки, используется для управления зашифрованными данными с помощью шифрованной файловой системы (EFS).
Служба поддержки Майкрософт
💡 Чтобы лучше очистить том и затереть максимально возможное количество данных, при выполнении CIPHER /W рекомендуется закрыть все другие приложения.
/W — ключ, удаляет данные из доступного неиспользуемого дискового пространства во всем томе. Содержимое затирается в три этапа, значениями: 00, FF и случайное число.
:X — имя рабочего тома.
🔔 Использование утилиты CIPHER — это гарантированное удаление данных!
Гарантированное удаление данных на неактивных устройствах
Для гарантированного удаления данных на неактивных устройствах: неиспользуемые жесткие диски, переносные жесткие диски и флеш устройства, используем стандартную утилиту FORMAT .
X: — имя рабочего тома.
/p — ключ, обнуление каждого сектора тома. После обнуления том будет перезаписан Число раз; при каждой перезаписи будет использоваться новое случайное число.
Для успешного запуска утилиты требуется ввести правильное название активного тома/устройства.
Процесс может занять много времени, особенно если в счетчике перезаписи указано большое число.
🔔 Использование утилиты FORMAT — это гарантированное удаление данных!
Удаление через командную строку
Как удалить файл через командную строку
- Запустите командную строку;
- Перейдите в нужную папку (команда cd );
- Выполните команду del и полное имя файла с расширением;
- Согласитесь с удалением.
Если в имени файла находятся пробелы, заключите название в кавычки.
Для удаления файлов из системных папок требуется запустить командную строку от имени администратора .
🔔 Это безвозвратное удаление данных!
Как удалить папку через командную строку
- Запустите командную строку;
- Перейдите в нужную папку;
- Выполните команду RD .
/S — ключ, позволяющий удалять не пустую папку.
Если в имени папки находятся пробелы, заключите название в кавычки.
Чтобы удалить папку из системных папок требуется запустить командную строку от имени администратора .
🔔 Это безвозвратное удаление данных!
Удаление через PowerShell
Команда PowerShell для удаления папок и файлов — Remove-Item .
Синонимы команды Remove-Item: del, erase, rd, ri, rm и rmdir, поэтому команды из командной строки Windows так же будут работать.
Remove-Item «X» -Recurse
X — полный путь до файла (с расширением) или папки.
Recurse — ключ, указывающий на удаление папки с содержимым.
Как можно удалить файлы по маске имени через командную строку?
И так, смотри. Открываешь командную строку и пишешь:
del /s [путь к файлам вместе с маской]
Для наглядного примера:
Два основных символа, используемых в масках файлов, – это * и ? (где * – любое число символов, а ? – любой один символ). При помощи данных знаков можно представить любой файл.
А есть ли команда для поиска именно через имя, а не через расширение?
Можно ли очистить папку темп в папке пользователь?
Это папка для хранения временных файлов операционной системы и разных программ. Поэтому саму папку удалять не нужно, а вот все, что есть внутри, можно.
3 4 · Хороший ответ
Что делать, если не удаляется файл (пишется, что он открыт в проводнике)?
Для начала нужно определить, не открыт ли файл каким-то приложением (тем же проводником Виндовс). Для этого нужно зайти в «Диспетчер задач» (сочетание клавиш «Ctrl + Shift + Esc») и внимательно изучить содержимое. Остановка приложений выполняется выделением левой кнопкой мыши, нажатием в диспетчере клавиши «Снять задачу».
Удалить файл можно также, зайдя в систему как администратор. Это снимает большинство установленных ограничений.
А обо всех тонкостях работы с Виндовс, удалении «лишнего» софта вы можете узнать здесь
1 0 · Хороший ответ
Как узнать путь к расположению определенной папки на компьютере?
Напишу два варианта, так как вопрос у вас непонятный.
1. Нажмите на самой папке Shift + правая кнопка мыши и у вас появится в меню «Копировать как путь«. Тем самым вы скопируете путь к этой папке. Вставьте просто скопированный путь в адресную строку проводника.
2. Нажмите Win + R и введите в окно shell:Fonts , где Fonts это название папки, в данном случае папка со шрифтами.
Как изменить имя пользователя в Windows 10?
Вот самый простой способ:
Жмем Win+R, в появившемся окне вводим netplwiz и жмем Enter. В новом окне кликаем на учетную запись и потом на кнопку «Свойства». Видим окно с тремя полями, первое — имя локального профиля, второе — имя пользователя и третье — описание. Вводим нужные данные и выбираем «ОК». Всё, все окна можно закрывать.
1 , 9 K · Хороший ответ
Как удалить папку windows.old?
Откройте меню «Пуск» и перейдите в «Параметры». Можно ускорить переход, нажав сочетание клавиш Win + I. Зайдите в раздел «Система» и выберите «Память устройства». В поле «Контроль память» нажмите «Освободить место сейчас».
Способы принудительного удаления файла в Windows 10

Бывает, что при удалении файла появляется предупреждение о том, что удалить его нет возможности, поскольку он используется определенной программой, которая в этот момент запущена в системе.

Если связанный с файлом софт отображается на нижней панели, то его нужно просто закрыть обычным способом. Когда его интерфейс не разворачивается, щелкните по задаче правой кнопкой мыши и выберите пункт «Закрыть окно».
Если же программа нигде не отображается, то выключить ее можно через «Диспетчер задач»:
- Откройте «Диспетчер задач». Проще всего кликнуть правой кнопкой мыши по нижней рабочей панели и запустить приложение через контекстное меню.

- На вкладке «Процессы» отыщите проблемную программу. Если необходимо, можно упорядочить названия по имени, кликнув по названию столбца вверху. Выделите приложение, затем выберите кнопку «Снять задачу». Для детального поиска процесса можно переключиться на вкладку «Подробности» и поискать там.

После того как программа будет закрыта, должно получиться удалить файл.
Способ 2: «Командная строка»
Принудительно удалить файл в Windows 10 можно через встроенную консоль, использовав специальную команду и указав путь к нему. Метод может сработать, даже если файл открыт, но из-за сбоев в системе не получается его закрыть.
- Через «Проводник» перейдите к расположению файла. Если он находится на рабочем столе или в папке «Загрузки», то указывать нужно путь на диске C через персональную папку (то есть, например, C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\Downloads ). Скопируйте адрес из верхней строки, кликнув по ней правой кнопкой мыши и выбрав пункт «Копировать».

- Запустите «Командную строку» с расширенными правами, нажав на «Пуск» и введя в нем название приложения. Среди результатов выберите открытие от имени администратора.

- В консоли введите del /f /s /q /a , затем поставьте пробел, откройте кавычки и вставьте путь к файлу, поставьте обратный слэш (\) и впишите точное название удаляемого файла с его расширением, после чего закройте кавычки. К примеру, если файл находится на рабочем столе, в нашем примере команда будет выглядеть так: del /f /s /q /a «C:\Users\Professional\Desktop\документ.docx» , где «Professional» — имя нашей учетной записи. Нажмите на клавишу «Enter», чтобы подтвердить удаление.

В результате отобразится сообщение, что файл удален, причем при таком подходе он будет стерт без временного помещения в «Корзину».
Способ 3: Изменение владельца файла
В том случае, если во время удаления Windows сообщает, что у пользователя нет прав осуществить процедуру, то здесь проблема заключается во владельце. Обычно это происходит, когда на компьютере используется несколько учетных записей или планируется удалить специфический файл. Чтобы удалить файл, который принадлежит другой учетной записи, потребуется получить право собственности на него. Следует отметить, что это доступно только для администратора Windows 10.
- Щелкните правой кнопкой мыши по названию файла, чтобы вызвать контекстное меню. Перейдите в раздел «Свойства».
Закройте все окна раздела со свойствами и попробуйте снова удалить файл.
Способ 4: Загрузка в «Безопасном режиме»
Когда сторонние программы мешают удалению файла или это не получается сделать из-за вирусов, которые проникли в систему, может помочь загрузка Windows 10 в «Безопасном режиме»:
-
Откройте средство «Конфигурация системы» с помощью диалогового окна «Выполнить». Одновременно нажмите клавиши «Win + R», затем напишите команду msconfig и кликните по «ОК».
После процедуры останется перезагрузить компьютер, чтобы запустить систему в «Безопасном режиме». Найдите проблемный и файл и повторите попытку его удаления.
Способ 5: Переименование файла
Многим помогает старый и проверенный метод, подразумевающий переименование файла. Возможно, проблема появилась из-за того, что в системе произошел сбой или часть проблемного файла записалась на битый сектор жесткого диска, поэтому такой метод может исправить ситуацию.

Переименуйте файл, используя функцию контекстного меню. Также можно попробовать изменить его расширение: после точки, отделяющей название от формата, впишите другое расширение, например измените .docx .zip.
Способ 6: Функции архивирования
Некоторые архиваторы позволяют тонко настраивать процедуру архивирования файлов, в том числе удалять оригинал после завершения процедуры. Другими словами, вам понадобится заархивировать проблемные данные, выбрать соответствующую функцию в программе, а потом избавиться от самого архива. В этом может помочь бесплатный софт, например 7-Zip.
- Установите архиватор. Его функции автоматически интегрируются в контекстное меню. Щелкните по файлу правой кнопкой мыши, наведите курсор на пункт «7-Zip» и из дополнительного списка выберите «Добавить к архиву…».

- В окне с настройками архива найдите блок «Опции» и отметьте пункт «Удалять файлы после сжатия». Нажмите на «ОК».

Дождитесь, пока архив будет создан. Изначальный файл должен быть удален автоматически, а вам останется вручную удалить саму сжатую папку.
Способ 7: Сторонние программы
Если ни один рассмотренный выше способ не помог, попробуйте прибегнуть к помощи специализированного софта, который предназначен для удаления неудаляемых обычными методами файлов. Помимо основной функции, многие программы располагают дополнительными возможностями по работе с данными: копирование, смена имени, отображение заблокированных и скрытых файлов. В отдельной статье на нашем сайте разобраны наиболее эффективные и проверенные приложения, а также представлены ссылки на их скачивание.

Подробнее: Программы для удаления файлов, которые не удаляются
Как удалить файл или папку через командную строку Windows
Командная строка – мощный инструмент для автоматизации и упрощения многих задач, которые возникают при администрировании компьютера с операционной системой Windows. В этой статье мы рассмотрим команды DEL, ERASE, RD и RMDIR. С их помощью вы сможете удалять файлы и папки прямо из командной строки.
Удаление файлов через командную строку
Если вам нужно удалить файл через командную строку, то для этого нужно использовать команду DEL или ERASE . Эти команды являются синонимами и работают одинаково. Вы можете получить подробную информацию об этих командах, если введете их в командную строку с параметром « /? ». Например, вы можете ввести « del /? » и в консоль выведется вся основная информация о команде del .
Команда DEL (или ERASE ) предназначена для удаления одного или нескольких файлов и может принимать следующие параметры:
- /P – удаление с запросом подтверждения для каждого файла;
- /F – удаление файлов с атрибутом «только для чтения»;
- /S – удаление указанного файла из всех вложенных папок;
- /Q – удаление без запроса на подтверждение ;
- S — Системные;
- H — Скрытые;
- R – Только для чтения;
- A — Для архивирования
- Также перед атрибутами можно использовать знак минус «-», который имеет значение «НЕ». Например, «-S» означает не системный файл.
Обычно, для того чтобы воспользоваться командной DEL нужно сначала перейти в папку, в которой находится файл для удаления, и после этого выполнить команду. Для того чтобы сменить диск нужно просто ввести букву диска и двоеточие. А для перемещения по папкам нужно использовать команду « CD ».

После того как вы попали в нужную папку можно приступать к удалению файлов. Для этого просто введите команду DEL и название файла.

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

Если есть необходимость выполнить запрос на подтверждение удаления каждого из файлов, то к команде DEL нужно добавить параметр « /p ». В этом случае в командной строке будет появляться запрос на удаление файла и пользователю нужно будет ввести букву «Y» для подтверждения.

Нужно отметить, что при использовании параметра « /a », отвечающие за атрибуты буквы нужно вводить через двоеточие. Например, для того чтобы удалить все файлы с атрибутом « только для чтения » и с расширением « txt » нужно ввести:

Аналогичным образом к команде DEL можно добавлять и другие параметры. Комбинируя их вы сможете создавать очень мощные команды для удаления файлов через командную строку Windows. Ниже мы приводим еще несколько примеров.
Уничтожение всех файлов в корне диска D:
Уничтожение всех файлов с расширением « txt » в корне диска D :
Уничтожение всех файлов в папке d:\doc (документы с атрибутами будут пропущены):
Уничтожение всех файлов с атрибутом «только для чтения» и расширением « txt » в папке d:\doc :
Удаление папок через командную строку
Если вам нужно удалить папку через командную строку Windows, то указанные выше команды вам не помогут. Для удаления папок существует отдельная команда RD или RMDIR (сокращение от английского Remove Directory).
Команды RD и RMDIR являются синонимами и предназначены для удаления папок. Они могу принимать следующие параметры:
- /S — удаление всего дерева каталогов, при использовании данного параметра будет удалена не только сама папка, но и все ее содержимое;
- /Q – удаление дерева папок без запроса на подтверждение;
Например, для того чтобы удалить папку достаточно ввести команду RD и название папки. Например:

Если папка содержит вложенные папки или файлы, то при ее удалении будет выведена ошибка « Папка не пуста ».

Для решения этой проблемы к команде RD нужно добавить параметр « /s ». В этом случае удаление проходит без проблем, но появляется запрос на подтверждение удаления. Например:

Для того чтобы удаление дерева папок прошло без появления запроса на подтверждение к команде нужно добавить параметр « /q ». В этом случае папка удаляется без лишних вопросов. Например:

Также команда RD может принимать сразу несколько папок, для этого их нужно просто разделить пробелом. Например, чтобы сразу удалить

Если же вам нужно удалить через командную строку папку, которая сама содержит пробел, то в этом случае ее название нужно взять в двойные кавычки. Например:

Комбинируя команды DEL и RD , можно создавать мощные скрипты для очистки и удаления папок в операционной системе Windows.
Удаление файлов и папок в PowerShell
В консоли PowerShell вы можете использовать рассмотренные выше команды DEL и RD , либо « Remove-Item » — собственную команду (командлет) PowerShell. С помощью данной команды можно удалять можно удалять файлы, папки, ключи реестра, переменные и другие объекты.
Например, для того чтобы удалить файл или папку в консоли PowerShell можно использовать команду:

- Выключение компьютера через командную строку
- Как перезагрузить компьютер через командную строку
- Как вызвать командную строку в Windows 7
- Как поменять дату в Windows 7
- Как выключить компьютер через определенное время
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.
Действительно полезная информация
А как сделать так, чтобы из папки содержащей папки и файлы удалить только папки? Например: есть папка1, и в ней находятся папк2, папка3 и файлы файл1, файл2. Надо удалить только папка2 и папка3. Спасибо!
Это будет примерно так:
del папк**
(папк это их общее, а ** то что не будет учитывать кмд и удалит все папки с названием(в начале «папк»))
У меня такая ситуация: В 1Ске при некоторых обстоятельствах возникает ошибка, вариантом для исправления которого является удаление некоторых папок из одной папки, но дело в том, что для каждого пользователя названия этих папок разные.
Например: для пользователя РС1, надо удалить папку 0254a178-8a3d-493d-bb1c-0399c7958a7d из C:\Users\PC1\AppData\Local\1C\1cv8\,
для пользователя РС1, надо удалить папку 1109ff5d-af70-4086-a54d-3f956400b5c2 из C:\Users\PC1\AppData\Local\1C\1cv8\. Папки которые надо удалить система создает каждый раз, разными названиями. Т.е. это папки с файлами кеша.
Вопрос: Как написать команду так, чтобы из C:\Users\PC1\AppData\Local\1C\1cv8\ удалить только папки, а файлы оставить? СПАСИБО!)
Как вариант, можно сделать резервную копию файлов (с помощью команды copy), удалить всю папку всесте с файлами и вложенными папками, создать папку заново и восстановить файлы.
Например:
1. Копируем файлы из папки test в папку backup.
2. Удаляем папку test со всем содержимым.
3. Создаем папку test заново.
4. Восстановливаем файлы в папке test из резервной копии.
Не уверен, что это самый правильный способ, но это то, что пришло в голову в первую очередь.
Но для этого надо находиться в родительской для tmp директории, и тогда удалиться и сама папка tmp.
А этого делать не хочется, так как потом её придётся создавать.
А как составить команду удалить все папки в папке tmp, если мы уже находимся в ней.
А если, указать путь к текущей папке (точка)? Содержимое текущей папки будет удалено, а сама папка нет, так она используется.
Минус данного способа — в командной строке появится сообщение об ошибке.
Плохая статья, ибо не указано, что делать, если после применения команд /s и /q система выдаёт «Отказано в доступе». А у меня именно такая ситуация. Хоть Unlocker устанавливай из-за одной дурацкой папки…
Всех проблем в одной статье не предусмотреть. Возможно у вас нет прав на эту папку, в этом случае нужно запустить командную строку от имени администратора. Возможно папка системная, в этом случае можно попробовать сначала убрать атрибут «Системный». Для этого можно использовать команду attrib:
Если папку блокирует какая-то программа, то можно загрузиться в безопасном режиме и потом попытаться ее удалить.
How to delete files/subfolders in a specific directory at the command prompt in Windows
Say, there is a variable called %pathtofolder% , as it makes it clear it is a full path of a folder.
I want to delete every single file and subfolder in this directory, but not the directory itself.
But, there might be an error like ‘this file/folder is already in use’. when that happens, it should just continue and skip that file/folder.
Is there some command for this?
![]()
16 Answers 16
rmdir is my all time favorite command for the job. It works for deleting huge files and folders with subfolders. A backup is not created, so make sure that you have copied your files safely before running this command.
This silently removes the folder and all files and subfolders.
You can use this shell script to clean up the folder and files within C:\Temp source:
Create a batch file (say, delete.bat) containing the above command. Go to the location where the delete.bat file is located and then run the command: delete.bat
The simplest solution I can think of is removing the whole directory with
Then creating this directory again:
This will remove the folders and files and leave the folder behind.
. deletes all files and folders underneath the given directory, but not the directory itself.
![]()
. And FOR command line should be modified to for /F "eol=| delims=" %%I in ('dir "%dir%\*" /AD /B 2^>nul') do rd /Q /S "%dir%\%%I" because of FOR ignores directories with hidden attribute set. DIR with options /AD /B outputs all directories with just their names. BTW: dir is not a good name for an environment variable.
You’ll get an error message, tells you that the RMDIR command can’t access the current folder, thus it can’t delete it.
Update:
From this useful comment (thanks to Moritz Both), you may add && between, so RMDIR won’t run if the CD command fails (e.g. mistyped directory name):
/S: Deletes a directory tree (the specified directory and all its subdirectories, including all files).
/Q: Specifies quiet mode. Does not prompt for confirmation when deleting a directory tree. (Note that /q works only if /s is specified.)
![]()
I use Powershell
It will remove the contents of the folder, not the folder itself.
RD stands for REMOVE Directory.
/S : Delete all files and subfolders in addition to the folder itself. Use this to remove an entire folder tree.
/Q : Quiet — do not display YN confirmation
![]()
None of the answers as posted on 2018-06-01, with the exception of the single command line posted by foxidrive, really deletes all files and all folders/directories in %PathToFolder% . That’s the reason for posting one more answer with a very simple single command line to delete all files and subfolders of a folder as well as a batch file with a more complex solution explaining why all other answers as posted on 2018-06-01 using DEL and FOR with RD failed to clean up a folder completely.
The simple single command line solution which of course can be also used in a batch file:
This command line contains three commands executed one after the other.
The first command PUSHD pushes current directory path on stack and next makes %PathToFolder% the current directory for running command process.
This works also for UNC paths by default because of command extensions are enabled by default and in this case PUSHD creates a temporary drive letter that points to that specified network resource and then changes the current drive and directory, using the newly defined drive letter.
PUSHD outputs following error message to handle STDERR if the specified directory does not exist at all:
The system cannot find the path specified.
This error message is suppressed by redirecting it with 2>nul to device NUL.
The next command RD is executed only if changing current directory for current command process to specified directory was successful, i.e. the specified directory exists at all.
The command RD with the options /Q and /S removes a directory quietly with all subdirectories even if the specified directory contains files or folders with hidden attribute or with read-only attribute set. The system attribute does never prevent deletion of a file or folder.
Not deleted are:
Folders used as the current directory for any running process. The entire folder tree to such a folder cannot be deleted if a folder is used as the current directory for any running process.
Files currently opened by any running process with file access permissions set on file open to prevent deletion of the file while opened by the running application/process. Such an opened file prevents also the deletion of entire folder tree to the opened file.
Files/folders on which the current user has not the required (NTFS) permissions to delete the file/folder which prevents also the deletion of the folder tree to this file/folder.
The first reason for not deleting a folder is used by this command line to delete all files and subfolders of the specified folder, but not the folder itself. The folder is made temporarily the current directory for running command process which prevents the deletion of the folder itself. Of course this results in output of an error message by command RD:
The process cannot access the file because it is being used by another process.
File is the wrong term here as in reality the folder is being used by another process, the current command process which executed command RD. Well, in reality a folder is for the file system a special file with file attribute directory which explains this error message. But I don’t want to go too deep into file system management.
This error message, like all other error messages, which could occur because of the three reasons written above, is suppressed by redirecting it with 2>nul from handle STDERR to device NUL.
The third command, POPD, is executed independently of the exit value of command RD.
POPD pops the directory path pushed by PUSHD from the stack and changes the current directory for running the command process to this directory, i.e. restores the initial current directory. POPD deletes the temporary drive letter created by PUSHD in case of a UNC folder path.
Note: POPD can silently fail to restore the initial current directory in case of the initial current directory was a subdirectory of the directory to clean which does not exist anymore. In this special case %PathToFolder% remains the current directory. So it is advisable to run the command line above not from a subdirectory of %PathToFolder% .
One more interesting fact: I tried the command line also using a UNC path by sharing local directory C:\Temp with share name Temp and using UNC path \\%COMPUTERNAME%\Temp\CleanTest assigned to environment variable PathToFolder on Windows 7. If the current directory on running the command line is a subdirectory of a shared local folder accessed using UNC path, i.e. C:\Temp\CleanTest\Subfolder1 , Subfolder1 is deleted by RD, and next POPD fails silently in making C:\Temp\CleanTest\Subfolder1 again the current directory resulting in Z:\CleanTest remaining as the current directory for the running command process. So in this very, very special case the temporary drive letter remains until the current directory is changed for example with cd /D %SystemRoot% to a local directory really existing. Unfortunately POPD does not exit with a value greater 0 if it fails to restore the initial current directory making it impossible to detect this very special error condition using just the exit code of POPD. However, it can be supposed that nobody ever runs into this very special error case as UNC paths are usually not used for accessing local files and folders.
For understanding the used commands even better, open a command prompt window, execute there the following commands, and read the help displayed for each command very carefully.
- pushd /?
- popd /?
- rd /?
Next let us look on the batch file solution using the command DEL to delete files in %PathToFolder% and FOR and RD to delete the subfolders in %PathToFolder% .
The batch file first makes sure that environment variable PathToFolder is really defined with a folder path without double quotes and without a backslash at the end. The backslash at the end would not be a problem, but double quotes in a folder path could be problematic because of the value of PathToFolder is concatenated with other strings during batch file execution.
Important are the two lines:
The command DEL is used to delete all files in the specified directory.
- The option /A is necessary to process really all files including files with the hidden attribute which DEL would ignore without using option /A .
- The option /F is necessary to force deletion of files with the read-only attribute set.
- The option /Q is necessary to run a quiet deletion of multiple files without prompting the user if multiple files should be really deleted.
- >nul is necessary to redirect the output of the file names written to handle STDOUT to device NUL of which can’t be deleted because of a file is currently opened or user has no permission to delete the file.
- 2>nul is necessary to redirect the error message output for each file which can’t be deleted from handle STDERR to device NUL.
The commands FOR and RD are used to remove all subdirectories in specified directory. But for /D is not used because of FOR is ignoring in this case subdirectories with the hidden attribute set. For that reason for /F is used to run the following command line in a separate command process started in the background with %ComSpec% /c :
DIR outputs in bare format because of /B the directory entries with attribute D , i.e. the names of all subdirectories in specified directory independent on other attributes like the hidden attribute without a path. 2>nul is used to redirect the error message output by DIR on no directory found from handle STDERR to device NUL.
The redirection operator > must be escaped with the caret character, ^ , on the FOR command line to be interpreted as a literal character when the Windows command interpreter processes this command line before executing the command FOR which executes the embedded dir command line in a separate command process started in the background.
FOR processes the captured output written to handle STDOUT of a started command process which are the names of the subdirectories without path and never enclosed in double quotes.
FOR with option /F ignores empty lines which don’t occur here as DIR with option /B does not output empty lines.
FOR would also ignore lines starting with a semicolon which is the default end of line character. A directory name can start with a semicolon. For that reason eol=| is used to define the vertical bar character as the end-of-line character which no directory or file can have in its name.
FOR would split up the line into substrings using space and horizontal tab as delimiters and would assign only the first space/tab delimited string to specified loop variable I . This splitting behavior is not wanted here because of a directory name can contain one or more spaces. Therefore delims= is used to define an empty list of delimiters to disable the line splitting behavior and get assigned to the loop variable, I , always the complete directory name.
Command FOR runs the command RD for each directory name without a path which is the reason why on the RD command line the folder path must be specified once again which is concatenated with the subfolder name.
For understanding the used commands and how they work, open a command prompt window, execute there the following commands, and read entirely all help pages displayed for each command very carefully.