Windows удалить папку с подпапками

Как удалить папку с подпапками с помощью командной строки в Windows 10

В этом руководстве вы узнаете два разных способа быстрого удаления папок с подпапками с помощью командной строки и PowerShell.

Удалите папки с подпапками с помощью командной строки

Чтобы удалить папку с подпапками с помощью командной строки, выполните следующие действия:

Откройте Пуск в Windows 10.

Введите следующую команду, чтобы удалить пустую папку, и нажмите Enter :

В команде замените PATH\TO\FOLDER-NAME на путь к папке и имя папки, которую вы хотите удалить.

В этом примере удаляется папка «files»:

Введите следующую команду, чтобы удалить папку и подпапки с содержимым, и нажмите Enter:

В этом примере удаляются папка, подпапки и файлы «files»:

Введите следующую команду, чтобы удалить папку с содержимым рекурсивно без запроса подтверждения, и нажмите Enter.

В этом примере удаляются папка, подпапки и файлы «files» без запроса подтверждения:

После того, как вы выполните эти шаги, папка и ее содержимое будут удалены из Windows 10.

Параметр /s удаляет папку и ее содержимое в приведенной выше команде, но запрашивает у пользователя подтверждение. Параметр /q игнорирует приглашение и рекурсивно удаляет папку.

Удалите папки с подпапками с помощью PowerShell

Чтобы рекурсивно удалить всю папку с помощью команды PowerShell, выполните следующие действия:

Найдите PowerShell, щелкните правой кнопкой мыши верхний результат и выберите параметр «Запуск от имени администратора».

Введите следующую команду, чтобы удалить пустую папку, и нажмите Enter :

В команде замените PATH\TO\FOLDER-NAME на путь к папке и имя папки, которую вы хотите удалить.

В этом примере удаляется папка «files»:

Введите следующую команду, чтобы удалить пустую папку, и нажмите Enter :

В этом примере удаляется папка «files»:

После того, как вы выполните эти шаги, папка, подпапки и файлы будут удалены с компьютера с запросом или без него, в зависимости от используемой вами команды.

Как удалить папку windows через cmd

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

Удаление папки в windows – простой способ

Самый простой способ удалить папку с компьютера – воспользоваться стандартной возможностью интерфейса windows.

Нажмите правой кнопкой на папку и выберите “Удалить”.

Папка переместится в корзину. Далее необходимо перейти в корзину и нажать “Очистить корзину”.

Также можно кликнуть правой кнопкой мыши на ярлык корзины и выбрать пункт “Очистить корзину”.

В появившемся окне «Удалить папку» нажимаем на кнопку «Да».

Теперь папка полностью удалена с компьютера.

Удаление папок и файлов без корзины в Windows

В Windows можно удалять файлы, минуя корзину. Это позволяет намного быстрее очищать рабочее пространство компьютера. Чтобы удалить папку или любой другой файл, выделите его, нажав один раз левой кнопкой мыши.

Также можно зажать левую кнопку мыши и выделите сразу несколько объектов. Далее нажмите сочетание клавиш “Shift+DEL”.

Появится окно «Удалить папку», нажимаем на кнопку «Да».

Файлы полностью удалены с вашего компьютера.

Как удалить папку через командную строку

Иногда требуется удалить папку в windows через командную строку. Процесс удаления очень прост.

Нажмите сочетание клавиш “Win+R” и введите в поле “cmd”.

Появится окно «Командная строка».

В открывшемся окне вводим:

Данная команда удаляет папку с подтверждением.

Нажимаем на “Enter”, после этого нажмите на клавиатуре “y”, чтобы подтвердить удаление.

А вот это уже без подтверждения.

RD /s/q “путь к папке”

После этого нажимаем “Enter”. Папка удалена с вашего компьютера.

Как удалить папку через powershell

Удаление папки может потребоваться и при написании скриптов на языке powershell. Скрипт – сценарий, который пишут администраторы для автоматизации администрирования системы. Запустив его, начнется исполнение указанных в нем команд. Чтобы удалить папку в Windows с помощью powershell, откройте обычный блокнот и напишите следующую строчку без кавычек:

Сохраните файл в расширении *.ps1. После этого можно запустить скрипт двойным щелчком мыши. Папка будет удалена.

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

Сочетанием клавиш “Win+R” откройте меню “Выполнить”, введите powershell и нажмите на клавишу Enter.

Далее в открывшемся окне просто введите указанную выше строку и нажмите “Enter”.

Как удалить с папку с рабочего стола

Тут, тоже ничего сложного.

Нажмаем правой кнопкой на папку для удаления и выберите “Удалить”.

Папка переместится в корзину. Далее нажимаем правой кнопкой мыши на корзину и выбираем “Очистить корзину”.

Теперь нажимаем на кнопку «Да».

Готово, папка удалена.

Итоги

Периодически нам требуется удалять ненужные папки с компьютера. В зависимости от ситуации, мы используем разные способы удаления. Так при “повседневной” работе можно просто нажать правой кнопкой мыши на папку и удалить её. Иногда для удаления папки требуется использовать cmd или powershell.

Как удалить файл или папку через командную строку Windows

Командная строка – мощный инструмент для автоматизации и упрощения многих задач, которые возникают при администрировании компьютера с операционной системой Windows. В этой статье мы рассмотрим команды DEL, ERASE, RD и RMDIR. С их помощью вы сможете удалять файлы и папки прямо из командной строки.

Удаление файлов через командную строку

Команда DEL (или ERASE ) предназначена для удаления одного или нескольких файлов и может принимать следующие параметры:

Обычно, для того чтобы воспользоваться командной DEL нужно сначала перейти в папку, в которой находится файл для удаления, и после этого выполнить команду. Для того чтобы сменить диск нужно просто ввести букву диска и двоеточие. А для перемещения по папкам нужно использовать команду « CD ».

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

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

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

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

Аналогичным образом к команде DEL можно добавлять и другие параметры. Комбинируя их вы сможете создавать очень мощные команды для удаления файлов через командную строку Windows. Ниже мы приводим еще несколько примеров:

Удаление папок через командную строку

Если вам нужно удалить папку через командную строку Windows, то указанные выше команды вам не помогут. Для удаления папок существует отдельная команда RD или RMDIR (сокращение от английского Remove Directory).

Команды RD и RMDIR являются синонимами и предназначены для удаления папок. Они могу принимать следующие параметры:

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

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

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

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

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

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

Как удалить папку через командную строку

Командная строка (сокращенно CMD) – специальная программа, позволяющая выполнять сложные операции в Виндовс. Рядовые пользователи ее не используют, поскольку потребность в большинстве функций реализуется через привычный оконный интерфейс. Но когда возникают проблемы посерьезнее, возможности командной строки могут пригодиться. Данная программа подойдет для принудительного удаления папок, файлов и работы с директориями и локальными дисками.

Суть работы проста – вводится команда или ряд последовательных команд (алгоритм), и Windows их выполняет. Причем многие процессы через CMD проходят гораздо быстрее, чем в знакомом графическом интерфейсе. Удаление папки или программы в командной строке вообще происходит в пару кликов.

Мы советуем с осторожностью обращаться с утилитой, поскольку она способна вносить изменения в работу самой ОС Виндовс. Невнимательное обращение в CMD может привести к дальнейшим ошибкам и неполадкам.

Как запустить командную строку от администратора в Windows 7?

В этой инструкции мы будем часто пользоваться CMD, поэтому сначала рассмотрим вопрос ее запуска. Чтобы открыть программу, воспользуйтесь одним из способов ниже.

Способ 1

В поиске «Пуска» введите «командная строка» или «cmd» (без кавычек). Система найдет утилиту, вам останется только ее открыть.

Если вы хотите более подробно узнать, как вызвать командную строку в Windows 8, а также рассмотреть 5 проверенных способов, вы можете прочитать статью об этом на нашем портале.

Способ 2

На заметку! У некоторых пользователей он закреплен на панели справа (смотрите скриншот).

Примечание! CMD может запустить только администратор компьютера. Поскольку командная строка способна вносить серьезные изменения в работу системы, ОС Виндовс не доверяет ее запуск другим пользователям (с категориями прав «Гость» и «Обычный»).

Как удалить папку через командную строку

Шаг 1. Запускаем CMD.

Шаг 2. Для удаления используется команда «rmdir» (rd) – удалить каталог файловой системы Windows можно только с ее помощью. Итак, вписываем текст «RD /?». Утилита ознакомит вас с функциями по работе с папками.

Шаг 3. Мы создали папку с ненужными файлами, чтобы продемонстрировать принцип работы утилиты. Папка расположена на рабочем столе. Когда вы удаляете папку, вы должны вписать следующую команду: «RD /s», затем поставить пробел и вбить путь к самой папке (ее адрес на компьютере).

Как найти путь к папке

Как узнать путь к папке? Вручную это делать слишком долго, особенно если вы хотите удалить несколько директорий. Рассмотрим наш рабочий стол. Он находится в папке «Users» («Пользователи») на том диске, где у вас установлена ОС Виндовс.

Важно! Метод применим к любым вариантам: удаление папки с подтверждением и без, — разницы нет.

Шаг 4. Вставляем адрес папки в CMD. Для этого щелкаем правой кнопкой мыши рядом с введенной командой на «Шаге 3» (к сожалению, сочетание клавиш «Ctrl+V» в командной строке не работает). Жмем «Enter».

Шаг 5. Утилита спросит, действительно ли нужно удалить директорию. Если вы уверены, что да – нажмите на английскую клавишу «Y», а затем – «Enter».

Шаг 6. Готово! Удаление папки с помощью командной строки произведено. На всякий случай проверим отсутствие директории.

Примечание! Папка полностью удаляется с винчестера, не помещаясь в «Корзину»! Будьте осторожны, используя этот инструмент – можно ненароком удалить важные данные с компьютера навсегда. Удалить папку с правами администратора может только главный пользователь компьютера.

Как удалить файл через командную строку

Принцип деинсталляции файла не сильно отличается от удаления папки. Нам также потребуется узнать адрес файла и прописать его в CMD. Единственная разница – в самой команде.

Шаг 1. Открываем CMD.

Шаг 2. Вбиваем следующую команду: «DEL /F /S /Q /A». Затем ставим пробел и вставляем путь к файлу.

Как узнать путь к файлу?

Шаг 3. Вставьте скопированный текст в CMD (он должен быть в кавычках).

Шаг 4. Теперь скопируйте имя файла из поля (вместе с расширением – смотрите скриншот) и вставьте в CMD.

Шаг 5. Закройте кавычки и нажмите «Enter».

Готово – файл удален навсегда.

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

Как удалить программу через командную строку в Windows 7

Бывает, что программа не удаляется стандартным приложением Windows (из панели управления). Чтобы навсегда удалить ПО, очистив не только его файлы, но и данные в реестре, пригодится командная строка.

Шаг 1. Запускаем CMD.

Шаг 2. Вбиваем «wmic».

Шаг 3. Теперь нужно узнать наименования конкретного приложения в Windows, чтобы не ошибиться и не удалить полезный софт. Для этого вбиваем «product get name» (дословно — «получить имя продукта»).

Шаг 4. Деинсталлируем программу в командной строке. Остается только вбить текст «product where name=”название программы” call uninstall». Текст в кавычках – это наименование софта их списка, предоставленного командной строкой.

Шаг 5. Готово! Проверить, удален софт или нет можно зайдя в приложение «Удаление программы» из «Панели управления». Если в списке ПО нет – значит операция выполнена успешно.

Как в командной строке перейти на другой диск

Для перемещения по каталогам и локальным дискам используется привычный инструмент навигации – проводник. Однако, и при помощи CMD можно переходить в директории, расположенные на винчестере.

Данная инструкция дает ответ на вопрос «как в командной строке перейти в папку другую», принципиальной разницы между директорией и локальными разделами винчестера – нет.

Шаг 1. Запускаем CMD.

Шаг 2. Вбиваем команду «cd /d «d:»». В кавычках – адрес нашего локального диска или директории.

Как сделать bat файл

Bat файл – алгоритм, который может написать пользователь в утилите CMD. Касаемо нашей темы, — возможно, произвести удаление папки с помощью команды bat файла, вписав последовательность шагов. Инструкция по созданию БАТ файла:

Шаг 1. Создаем простой документ в Блокноте.

Шаг 2. Можно поставить несколько пробелов или какой-то простой текст. Делается это для того, чтобы файл сохранился программой (главное – чтобы он не был пустым). Сейчас это не играет большой роли, поскольку для создания БАТ файла мы задействуем утилиту Notepad++.

Шаг 3. Скачиваем Notepad. Устанавливаем.

Шаг 4. Открываем наш документ.

Шаг 6. Переходим в закладку «Файл», выбираем «Сохранить как». Подтверждаем действие и делаем замену старого файла на новый.

Шаг 7. Теперь уже можно удалить старое содержимое файла и вбить нужный алгоритм.

Шаг 8. Сохраняем документ и меняем расширение с txt на bat.

Видео — Как удалить папку с помощью командной строки (cmd) в Windows

Понравилась статья?
Сохраните, чтобы не потерять!

I would like to delete all files and subfolders in a batch file in Windows 7 and keep the top folder. Basically emptying the folder. What’s the command line instruction for that?

djsmiley2kStaysInside's user avatar

asked Aug 9, 2010 at 16:42

Tony_Henrich's user avatar

Tony_HenrichTony_Henrich

11.6k29 gold badges86 silver badges116 bronze badges

3

You can do this using del and the /S flag (to tell it to remove all files from all subdirectories):

del /S C:\Path\to\directory\*

Breakthrough's user avatar

Breakthrough

34.3k10 gold badges105 silver badges149 bronze badges

answered Aug 9, 2010 at 16:46

MDMarra's user avatar

13

The best Solution:
e.g. i want to delete all files and sub-directories of parent directory lets say «C:\Users\Desktop\New folder\». The easy way is create batch file of below three commands.

cd C:\Users\Desktop\New folder\

del * /S /Q

rmdir /S /Q «C:\Users\Desktop\New folder\»

Here first it will clean all files in all sub-directories and then cleans all empty sub-directories.
Since current working directory is parent directory i.e.»\New folder», rmdir command can’t delete this directory itself.

BlueBerry - Vignesh4303's user avatar

answered Oct 5, 2013 at 4:44

Annasaheb's user avatar

AnnasahebAnnasaheb

3793 silver badges2 bronze badges

6

Navigate to the parent directory:

pushd "Parent Directory"

Delete the sub folders:

rd /s /q . 2>nul

Hashim Aziz's user avatar

Hashim Aziz

12.1k35 gold badges99 silver badges167 bronze badges

answered Jul 3, 2014 at 12:38

user340956's user avatar

user340956user340956

2292 silver badges2 bronze badges

6

rmdir "c:\pathofyourdirectory" /q /s

Don’t forget to use the quotes and for the /q /s it will delete all the repositories and without prompting.

Excellll's user avatar

Excellll

12.6k11 gold badges51 silver badges78 bronze badges

answered Jul 31, 2013 at 18:23

SuperUser's user avatar

SuperUserSuperUser

951 silver badge1 bronze badge

2

You can do it quickly and easily by putting these three instructions in your bat file:

mkdir empty_folder
robocopy /mir empty_folder "path_to_directory"
rmdir empty_folder

answered Feb 2, 2017 at 19:20

fireblood's user avatar

firebloodfireblood

3452 gold badges5 silver badges14 bronze badges

2

user340956 was painfully close to the solution, but you know what they say about close…

To be clear, rd /s /q c:\foobar deletes the target directory in addition to its contents, but you don’t always want to delete the directory itself, sometimes you just want to delete its contents and leave the directory alone. The deltree command could do this, but Micrsoft, in its infinite «wisdom» removed the command and didn’t port it to Windows.

Here’s a solution that works without resorting to third-party tools. It’s probably about as simple and efficient as is possible with a command-line script instead of outright writing an actual executable. It doesn’t set any environment variables and it doesn’t use any loops. It’s also as safe as can be, with error-checking everywhere possible, and also as user-friendly as possible, with built-in docs.

dt.bat (or dt.cmd for the kids; whatever, I’m old, I use .bat 🤷):

:: dt is a Windows-compatible version of the deltree command
:: Posted to SuperUser by Synetech: https://superuser.com/a/1526232/3279

@echo off
goto start

:start
    if ["%~1"]==[""] goto usage
    pushd "%~1" 2>nul
    if /i not ["%cd%"]==["%~1"] goto wrongdir
    rd /s /q "%~1" 2>nul
    popd
goto :eof

:usage
    echo   Delete all of the contents of a directory
    echo.
    echo   ^> %0 DIR
    echo.
    echo   %0 is a substitute for deltree, it recursively deletes the contents
    echo   (files and folders) of a directory, but not the directory itself
    echo.
    echo   DIR is the directory whose contents are to be deleted
goto :eof

:wrongdir
    echo Could not change to the target directory. Invalid directory? Access denied?
goto :eof

Here’s how it works:

  1. It checks if a command-line argument has been passed, and prints usage information and quits if not.
  2. It uses pushd to save the current directory, then switch to the target directory, redirecting any errors to nul for a cleaner command-line experience (and cleaner logs).
  3. It checks to see if the current directory is now the same as the target directory, and prints an error message and quits if it is not. This avoids accidentally deleting the contents of the previous directory if the pushd command failed (e.g., passing an invalid directory, access-error, etc.)
    • This check is case-insensitive, so it’s usually safe on Windows, but isn’t for any case-sensitive file-systems like those used by *nix systems, even under Windows.
    • It doesn’t work with short-filenames (e.g. C:\Users\Bob Bobson\foobar won’t be seen as being the same as C:\Users\BobBob~1\foobar even if they actually are). It’s a slight inconvenience to have to use the non-short filename, but it’s better safe than sorry, especially since SFNs aren’t completely reliable or always predictable (and may even be disabled altogether).
  4. It then uses rd to delete the target directory and all of its contents, redirecting any errors (which there should be at least one for the directory itself) to nul. Some notes about this:
    • Because the target directory is the current directory, the system has an open file-handle to it, and thus it cannot actually delete it, so it remains as is, which is the desired behavior.
    • Because it doesn’t try to remove the target directory until after its contents have been removed, it should now be empty (other than anything that also has open file handles).
  5. Finally, it uses popd to return to the previously-current directory and ends the script.

(If you like, you can comment the script with the above descriptions using rem or ::.)

answered Feb 17, 2020 at 22:41

Synetech's user avatar

SynetechSynetech

68.3k36 gold badges223 silver badges357 bronze badges

2

you can use rmdir to delete the files and subfolder, like this:

rmdir /s/q MyFolderPath

However, it is significantly faster, especially when you have a lot of subfolders in your structure to use del before the rmdir, like this:

del /f/s/q MyFolderPath > nul
rmdir /s/q MyFolderPath

answered Apr 27, 2015 at 7:21

Einbert Alshtein's user avatar

2

1. What the OP asked for

del /f /s /q "C:\some\Path\*.*"
rmdir /s /q "C:\some\Path"
mkdir "C:\some\Path"

That will remove all files and folders in and including the directory of "C:\some\Path" but remakes the top directory at the end.

2. What most people will want

del /f /s /q "C:\some\Path\*.*"
rmdir /s /q "C:\some\Path"

That will completely remove "C:\some\Path" and all of its contents

If OP has some oddly specific requirement to not touch the top-level directory in any capacity… they should mention that in their question :)

answered Jan 22, 2021 at 8:03

kayleeFrye_onDeck's user avatar

1

If you want to delete all files in a folder, including all subfolders and not rely on some error conditions to keep the root folder intact (like I saw in another answer)
you could have a batch file like this:

@echo off

REM Checking for command line parameter
if "%~1"=="" (

    echo Parameter required.
    exit /b 1

) else (

    REM Change directory and keep track of the previous one
    pushd "%~1"

    if errorlevel 1 (

        REM The directory passed from command line is not valid, stop here.
        exit /b %errorlevel%

    ) else (

        REM First we delete all files, including the ones in the subdirs, without confirmation
        del * /S /Q

        REM Then we delete all the empty subdirs that were left behind
        for /f %%D IN ('dir /b /s /a:d "%~1"') DO rmdir /S /Q "%%D"

        REM Change directory back to the previous one
        popd

        REM All good.
        exit /b 0
    )

)

And then you would simply call it with:

empty_my_folder.bat "C:\whatever\is\my folder"

answered Feb 5, 2014 at 16:39

Gio's user avatar

1

To delete file:

del PATH_TO_FILE

To delete folder with all files in it:

rmdir /s /q PATH_TO_FOLDER

To delete all files from specific folder (not deleting folder itself) is a little bit complicated. del /s *.* cannot delete folders, but removes files from all subfolder. So two commands are needed:

del /q PATH_TO_FOLDER\*.*
for /d %i in (PATH_TO_FOLDER\*.*) do @rmdir /s /q "%i"

You can create a script to delete whatever you want (folder or file) like this mydel.bat:

@echo off
setlocal enableextensions

if "%~1"=="" (
    echo Usage: %0 path
    exit /b 1
)

:: check whether it is folder or file
set ISDIR=0
set ATTR=%~a1
set DIRATTR=%ATTR:~0,1%
if /i "%DIRATTR%"=="d" set ISDIR=1

:: Delete folder or file
if %ISDIR%==1 (rmdir /s /q "%~1") else (del "%~1")
exit /b %ERRORLEVEL%

Few example of usage:

mydel.bat "path\to\folder with spaces"
mydel.bat path\to\file_or_folder

answered Nov 10, 2016 at 17:16

Maxim Suslov's user avatar

To delete all subdirectories and their contents use robocopy. Create an empty directory, for example C:\Empty. Let’s say you want to empty C:\test which has lots of subdirectories and files and more subdirectories and more files:
robocopy c:\empty c:\test /purge
then, rd C:\test if need be.

answered May 18, 2021 at 9:31

David Walker's user avatar

This worked better for me when I had spaces in the folder names.

@echo off
REM ---- Batch file to clean out a folder
REM Checking for command line parameter
if "%~1"=="" (

echo Parameter required.
exit /b 1

) else (
echo ***********************************************************************************
    echo *** Deleting all files, including the ones in the subdirs, without confirmation *** 
    del "%~1\*" /S /Q
echo ***********************************************************************************
    REM Deleting all the empty subdirs that were left behind
FOR /R "%~1" %%D IN (.) DO (
    if "%%D"=="%~1\."  (
    echo *** Cleaning out folder: %~1 *** 
    ) else (
    echo Removed folder "%%D"
    rmdir /S /Q "%%D"
    )
) 

    REM All good.
    exit /b 0

)

answered Feb 13, 2014 at 18:06

Ed Hammond's user avatar

1

If you wanted to empty the folder, my take is:

@ECHO OFF

:choice
cls
set /P c=Which directory? [Desktop, Documents, Downloads, Pictures]
if /I "%c%" EQU "Desktop" set Point = "Desktop"
if /I "%c%" EQU "Documents" set Point = "Documents"
if /I "%c%" EQU "Downloads" set Point = "Downloads"
if /I "%c%" EQU "Pictures" set Point = "Pictures"
if /I "%c%" EQU "Videos" set Point = "Videos"
goto choice
set /P d=Which subdirectory? If you are putting multiple. Your's should be like "path/to/folder" (no files!!)


IF NOT EXIST C:\Users\%USERNAME%\%Point%\%d% GOTO NOWINDIR
rmdir C:\Users\%USERNAME%\%Point%\%d%
mkdir C:\Users\%USERNAME%\%Point%\%d%
:NOWINDIR
mkdir C:\Users\%USERNAME%\%Point%\%d%

Simple as that!
I hope I helped you out!
I recommend you to take the whole code, if you don’t want to take the whole code, then you can simplify this with.

IF NOT EXIST *path here* GOTO NOWINDIR
rmdir *path here*
mkdir *path here*
:NOWINDIR
mkdir *path here*

EDIT:
rmdir won’t work if it isn’t empty. To fix that.

IF NOT EXIST *path here* GOTO NOWINDIR
del *path here*/* /S /Q (dont copy this, the above prevents the del command from deleting everything in the folder, this is simallar to another answer.)
rmdir *path here*
mkdir *path here*
:NOWINDIR
mkdir *path here*

Not sure if this works but…

sdelete -s -p *path here*/*

answered Jul 30, 2020 at 8:56

ThisIsACoolBoy's user avatar

None of the answers already posted here is very good, so I will add my own answer.

Try this:

for /f "delims=" %i in ('dir path\to\folder /s /b /a:-d') do del "%i" /f /q /s
fot /f "delims=" %i in ('dir path\to\folder /s /b /a:d') do rd "%i" /q /s

This should do it.

answered Jan 22, 2021 at 14:28

Ξένη Γήινος's user avatar

Ξένη ΓήινοςΞένη Γήινος

2,8846 gold badges29 silver badges63 bronze badges

1

Seems everyone is missing the fact that we’re wanting to delete multiple sub folders, but NOT delete the parent folder. We may also no know all the names of the subfolders, and don’t want to do each one individually.

So, thinking outside the box, this is how I solved this issue.

mkdir c:\EmptyFolderToBeDeletedSoon

Robocopy /Purge c:\EmptyFolderToBeDeletedSoon c:\FolderIWantEmpty

rmdir c:\EmptyFolderToBeDeletedSoon

Make a temp directory that’s empty.
Use the RoboCopy command with the /Purge switch (/PURGE :: delete dest files/dirs that no longer exist in source.) using the empty folder as the source, and the folder we want empty as the destination.
Delete the empty temp folder we created to be the empty source for Robocopy.

Now, you have an empty folder of all files and folders, which is what this whole string was about.

answered Aug 15, 2022 at 20:07

Vokard's user avatar

This is what worked for me.

  1. Navigate inside the folder where you want to delete the files.
  2. Type: del *
  3. Y for yes.
  4. Done

Glorfindel's user avatar

Glorfindel

4,0998 gold badges24 silver badges37 bronze badges

answered May 7, 2018 at 18:43

Erv's user avatar

Example: Delete everything (folders/subfolders/files) in 3D Objects folder but want to leave 3D Objects folder alone

pathThere=»C:\Users\PhilosophyPoet\3D Objects»
CD pathThere
RMDIR /s /q pathThere

When CMD is oriented to working directory, using RMDIR will delete all folders, subfolders and files from the working directory. Seems like CMD process cannot process itself just like ‘I can’t throw myself into rubbish bin because the rubbish bin need to be seal by someone’

answered Oct 1, 2020 at 13:36

Mashimaro's user avatar

Here’s a two-line solution I just came up with, possibly exploiting a bug or unexpected behavior in robocopy. This works with the newest version of cmd and robocopy on Windows 10 at this writing.

It mirror syncs an empty sub-folder to its parent folder. In other words, it tells the parent folder to have all the same files as the sub-folder: none. Amusingly, this means it also deletes the empty sub-folder that it is instructed to sync with.

This example will empty the Temp folder for the current user. Note that it is using the %TEMP% environment variable, which cmd expands to whatever that may be, for example C:\Users\Dobby_the_Free\AppData\Local\Temp:

mkdir %TEMP%\i_like_cheez
robocopy /mir %TEMP%\i_like_cheez %TEMP%

answered Jan 30, 2021 at 1:44

r_alex_hall's user avatar

r_alex_hallr_alex_hall

3263 silver badges12 bronze badges

this script works with folders with a space in the name

for /f «tokens=*» %%i in (‘dir /b /s /a:d «%~1″‘) do rd /S /Q «%%~i»

answered Feb 20, 2021 at 22:40

rubafix's user avatar

You must log in to answer this question.

Not the answer you’re looking for? Browse other questions tagged

.

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:

pushd "%PathToFolder%" 2>nul && ( rd /Q /S "%PathToFolder%" 2>nul & popd )

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:

  1. 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.

  2. 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.

  3. 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 /?

Single line with multiple commands using Windows batch file explains the operators && and & used here.


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%.

@echo off
setlocal EnableExtensions DisableDelayedExpansion

rem Clean the folder for temporary files if environment variable
rem PathToFolder is not defined already outside this batch file.
if not defined PathToFolder set "PathToFolder=%TEMP%"

rem Remove all double quotes from folder path.
set "PathToFolder=%PathToFolder:"=%"

rem Did the folder path consist only of double quotes?
if not defined PathToFolder goto EndCleanFolder

rem Remove a backslash at end of folder path.
if "%PathToFolder:~-1%" == "\" set "PathToFolder=%PathToFolder:~0,-1%"

rem Did the folder path consist only of a backslash (with one or more double quotes)?
if not defined PathToFolder goto EndCleanFolder

rem Delete all files in specified folder including files with hidden
rem or read-only attribute set, except the files currently opened by
rem a running process which prevents deletion of the file while being
rem opened by the application, or on which the current user has not
rem the required permissions to delete the file.
del /A /F /Q "%PathToFolder%\*" >nul 2>nul

rem Delete all subfolders in specified folder including those with hidden
rem attribute set recursive with all files and subfolders, except folders
rem being the current directory of any running process which prevents the
rem deletion of the folder and all folders above, folders containing a file
rem opened by the application which prevents deletion of the file and the
rem entire folder structure to this file, or on which the current user has
rem not the required permissions to delete a folder or file in folder tree
rem to delete.
for /F "eol=| delims=" %%I in ('dir "%PathToFolder%\*" /AD /B 2^>nul') do rd /Q /S "%PathToFolder%\%%I" 2>nul

:EndCleanFolder
endlocal

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:

del /A /F /Q "%PathToFolder%\*" >nul 2>nul
for /F "eol=| delims=" %%I in ('dir "%PathToFolder%\*" /AD /B 2^>nul') do rd /Q /S "%PathToFolder%\%%I" 2>nul

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 "%PathToFolder%\*" /AD /B 2>nul

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.

  • del /?
  • dir /?
  • echo /?
  • endlocal /?
  • for /?
  • goto /?
  • if /?
  • rd /?
  • rem /?
  • set /?
  • setlocal /?

Командная строка – мощный инструмент для автоматизации и упрощения многих задач, которые возникают при администрировании компьютера с операционной системой Windows. В этой статье мы рассмотрим команды DEL, ERASE, RD и RMDIR. С их помощью вы сможете удалять файлы и папки прямо из командной строки.

Удаление файлов через командную строку

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

Команда DEL (или ERASE) предназначена для удаления одного или нескольких файлов и может принимать следующие параметры:

  • /P – удаление с запросом подтверждения для каждого файла;
  • /F – удаление файлов с атрибутом «только для чтения»;
  • /S – удаление указанного файла из всех вложенных папок;
  • /Q – удаление без запроса на подтверждение ;
  • /A – удаление файлов согласно их атрибутам;

    • S — Системные;
    • H — Скрытые;
    • R – Только для чтения;
    • A — Для архивирования
    • Также перед атрибутами можно использовать знак минус «-», который имеет значение «НЕ». Например, «-S» означает не системный файл.

Обычно, для того чтобы воспользоваться командной DEL нужно сначала перейти в папку, в которой находится файл для удаления, и после этого выполнить команду. Для того чтобы сменить диск нужно просто ввести букву диска и двоеточие. А для перемещения по папкам нужно использовать команду «CD».

перемещение по папкам

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

del test.txt

удаление файла

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

del e:\tmp\test.txt

удаление файла по полному адресу

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

del /p test.txt

запрос на подтверждение удаления

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

del /F /A:R *.txt

удаление файлов с атрибутом

Аналогичным образом к команде DEL можно добавлять и другие параметры. Комбинируя их вы сможете создавать очень мощные команды для удаления файлов через командную строку Windows. Ниже мы приводим еще несколько примеров.

Уничтожение всех файлов в корне диска D:

del D:\

Уничтожение всех файлов с расширением «txt» в корне диска D:

del D:\*.txt

Уничтожение всех файлов в папке d:\doc (документы с атрибутами будут пропущены):

del D:\doc

Уничтожение всех файлов с атрибутом «только для чтения» и расширением «txt» в папке d:\doc:

del /A:r d:\doc\*.txt

Удаление папок через командную строку

Если вам нужно удалить папку через командную строку Windows, то указанные выше команды вам не помогут. Для удаления папок существует отдельная команда RD или RMDIR (сокращение от английского Remove Directory).

Команды RD и RMDIR являются синонимами и предназначены для удаления папок. Они могу принимать следующие параметры:

  • /S — удаление всего дерева каталогов, при использовании данного параметра будет удалена не только сама папка, но и все ее содержимое;
  • /Q – удаление дерева папок без запроса на подтверждение;

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

rd MyFolder

удаление папки

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

ошибка при удаление папки

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

rd /s MyFolder

удаление папки с подтверждением

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

rd /s /q MyFolder

удаление папки без подтверждения

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

rd Folder1 Folder2

удаление нескольких папок

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

rd "My Files"

удаление папок с пробелом

Комбинируя команды DEL и RD, можно создавать мощные скрипты для очистки и удаления папок в операционной системе Windows.

Удаление файлов и папок в PowerShell

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

Например, для того чтобы удалить файл или папку в консоли PowerShell можно использовать команду:

Remove-item file.txt

Remove-item MyFolder

Удаление файлов в PowerShell

Посмотрите также:

  • Выключение компьютера через командную строку
  • Как перезагрузить компьютер через командную строку
  • Как вызвать командную строку в Windows 7
  • Как поменять дату в Windows 7
  • Как выключить компьютер через определенное время

Автор
Александр Степушин

Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.

Остались вопросы?

Задайте вопрос в комментариях под статьей или на странице
«Задать вопрос»
и вы обязательно получите ответ.

Вы можете столкнуться с ситуацией, когда файл в проводнике Windows не удаляется. Это может быть связанно с какой-нибудь ошибкой или файлы или папки заняты каким-то процессом. В таких случаях для удаления файлов и папок можно использовать командную строку. Это не гарантирует удаление файлов и папок, но попробовать можно.

Будьте осторожны удаляя файлы из командной строки! Неправильное использование командной строки может сделать вашу систему неработоспособной, и даже привести к фатальным ошибкам, которые могут повлиять на работоспособность операционной системы.

Содержание

  1. Удалить файл или папку из командной строки
  2. Удалить файл через командную строку
  3. Удалить папку через командную строку
  4. Заключение

Удалить файл или папку из командной строки

Чтобы удалить файлы с помощью командной строки откройте ее с правами администратора.

РЕКОМЕНДУЕМ:
Выключение Windows из командной строки

Кстати, вы можете использовать те же команды и параметры в PowerShell.

Удалить файл через командную строку

Когда откроется окно командной строки CMD, перейдите к папку, в которой необходимо удалить файл. Для перехода по папкам используйте команду «cd». Затем введите следующую команду с параметрами:

Синтаксис:

DEL /F /A <путь к файлу вместе с расширением>

Пример:

DEL /F /A techgeek.ru.txt

Параметры:

  • /F — означает принудительное удаление.
  • /A — выбирает только файлы с атрибутом «Готово к архивированию».

Удалить файл через командную строку

Удалить папку через командную строку

С помощью команды «cd» перейдите в каталог, содержащий папку, которую следует удалить. Введите следующую команду в командной строке:

Синтаксис:

Пример:

Параметры:

  • RD — удаляет папку из каталога.
  • /S — удаляет все подпапки и файлы.

Удалить папку через командную строку

Если использовать параметр /Q, то вас не спросят о подтверждении Y / N.

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

РЕКОМЕНДУЕМ:
История выполнения команд в командной строке Windows

Заключение

Как вы видите удаление папок и файлов командной строки — дело несложное. Попробуйте эти способы удаления и дайте знать в разделе комментариев ниже, если описанный метод работает помог вам.

  • Windows удаление файлов мимо корзины
  • Windows создать ссылку на файл
  • Windows убить процесс по pid
  • Windows создание файла из консоли
  • Windows удаление файла из командной строки