Командная строка – мощный инструмент для автоматизации и упрощения многих задач, которые возникают при администрировании компьютера с операционной системой 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:tmptest.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
Посмотрите также:
- Выключение компьютера через командную строку
- Как перезагрузить компьютер через командную строку
- Как вызвать командную строку в Windows 7
- Как поменять дату в Windows 7
- Как выключить компьютер через определенное время
Автор
Александр Степушин
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Остались вопросы?
Задайте вопрос в комментариях под статьей или на странице
«Задать вопрос»
и вы обязательно получите ответ.
Как удалить папку через командную строку
Автор:
Обновлено: 22.07.2018
Командная строка (сокращенно CMD) – специальная программа, позволяющая выполнять сложные операции в Виндовс. Рядовые пользователи ее не используют, поскольку потребность в большинстве функций реализуется через привычный оконный интерфейс. Но когда возникают проблемы посерьезнее, возможности командной строки могут пригодиться. Данная программа подойдет для принудительного удаления папок, файлов и работы с директориями и локальными дисками.
Суть работы проста – вводится команда или ряд последовательных команд (алгоритм), и Windows их выполняет. Причем многие процессы через CMD проходят гораздо быстрее, чем в знакомом графическом интерфейсе. Удаление папки или программы в командной строке вообще происходит в пару кликов.
Мы советуем с осторожностью обращаться с утилитой, поскольку она способна вносить изменения в работу самой ОС Виндовс. Невнимательное обращение в CMD может привести к дальнейшим ошибкам и неполадкам.
Как удалить папку через командную строку
Содержание
- Как запустить командную строку от администратора в Windows 7?
- Способ 1
- Способ 2
- Как удалить папку через командную строку
- Как найти путь к папке
- Как удалить файл через командную строку
- Как узнать путь к файлу?
- Как удалить программу через командную строку в Windows 7
- Как в командной строке перейти на другой диск
- Как сделать bat файл
- Видео — Как удалить папку с помощью командной строки (cmd) в Windows
Как запустить командную строку от администратора в Windows 7?
В этой инструкции мы будем часто пользоваться CMD, поэтому сначала рассмотрим вопрос ее запуска. Чтобы открыть программу, воспользуйтесь одним из способов ниже.
Способ 1
В поиске «Пуска» введите «командная строка» или «cmd» (без кавычек). Система найдет утилиту, вам останется только ее открыть.
Открываем меню «Пуск», в поисковике вводим «командная строка» или «cmd» (без кавычек), открываем найденную системой утилиту
Если вы хотите более подробно узнать, как вызвать командную строку в Windows 8, а также рассмотреть 5 проверенных способов, вы можете прочитать статью об этом на нашем портале.
Способ 2
- Откройте приложение «Выполнить». Его название можно вбить в тот же поиск «Пуска».
Открываем меню «Пуск», в поисковике вводим «выполнить», открываем найденный результат
Раскрываем меню «Пуск», находим пункт «Выполнить» щелкаем по нему
На заметку! У некоторых пользователей он закреплен на панели справа (смотрите скриншот).
- Уже в самом приложении введите cmd.exe и нажмите «ОК».
В поле «Открыть» вводим cmd.exe и нажимаем «ОК»
Примечание! CMD может запустить только администратор компьютера. Поскольку командная строка способна вносить серьезные изменения в работу системы, ОС Виндовс не доверяет ее запуск другим пользователям (с категориями прав «Гость» и «Обычный»).
Как удалить папку через командную строку
Шаг 1. Запускаем CMD.
Открываем меню «Пуск», в поисковике вводим «командная строка» или «cmd» (без кавычек), открываем найденную системой утилиту
Шаг 2. Для удаления используется команда «rmdir» (rd) – удалить каталог файловой системы Windows можно только с ее помощью. Итак, вписываем текст «RD /?». Утилита ознакомит вас с функциями по работе с папками.
В поле вводим «RD /?», нажимаем «Enter»
Шаг 3. Мы создали папку с ненужными файлами, чтобы продемонстрировать принцип работы утилиты. Папка расположена на рабочем столе. Когда вы удаляете папку, вы должны вписать следующую команду: «RD /s», затем поставить пробел и вбить путь к самой папке (ее адрес на компьютере).
Что бы удалить папку с помощью командной строки, нужно узнать ее полный путь к месту хранения в компьютере
Вписываем следующую команду «RD /s», затем ставим пробел и ищем полный путь места хранения папки на компьютере
Как найти путь к папке
Как узнать путь к папке? Вручную это делать слишком долго, особенно если вы хотите удалить несколько директорий. Рассмотрим наш рабочий стол. Он находится в папке «Users» («Пользователи») на том диске, где у вас установлена ОС Виндовс.
- В нашем случае система стоит на локальном диске C. Заходим в него.
Открываем диск С или другой, на котором находится система Виндовс
- Затем в директорию пользователей.
Открываем папку «Пользователи»
- А после – выбираем конкретного пользователя.
Открываем папку с нужным пользователем
- Там видим «Рабочий стол» – открываем.
Раскрываем папку «Рабочий стол»
- В конце пути мы должны прийти к той папке, которую требуется удалить.
Находим и открываем нашу папку для удаления
- Теперь щелкаем по адресной строке проводника (смотрите скриншот) и копируем адрес (комбинация клавиш «Ctrl+C»).
Щелкаем правой кнопкой мышки по адресной строке проводника, в меню щелкаем по опции «Копировать» или нажимаем комбинацию клавиш «Ctrl+C»
Важно! Метод применим к любым вариантам: удаление папки с подтверждением и без, — разницы нет.
Шаг 4. Вставляем адрес папки в CMD. Для этого щелкаем правой кнопкой мыши рядом с введенной командой на «Шаге 3» (к сожалению, сочетание клавиш «Ctrl+V» в командной строке не работает). Жмем «Enter».
В командной строке щелкаем после s и пробела правой кнопкой мышки, выбираем «Вставить», вставится путь к папке, щелкаем «Enter»
Шаг 5. Утилита спросит, действительно ли нужно удалить директорию. Если вы уверены, что да – нажмите на английскую клавишу «Y», а затем – «Enter».
Для подтверждения удаления нажимаем на английскую клавишу «Y», затем «Enter»
Шаг 6. Готово! Удаление папки с помощью командной строки произведено. На всякий случай проверим отсутствие директории.
Проверяем место, где хранилась наша удаленная папка
Примечание! Папка полностью удаляется с винчестера, не помещаясь в «Корзину»! Будьте осторожны, используя этот инструмент – можно ненароком удалить важные данные с компьютера навсегда. Удалить папку с правами администратора может только главный пользователь компьютера.
Как удалить файл через командную строку
Принцип деинсталляции файла не сильно отличается от удаления папки. Нам также потребуется узнать адрес файла и прописать его в CMD. Единственная разница – в самой команде.
Шаг 1. Открываем CMD.
Открываем меню «Пуск», в поисковике вводим «командная строка» или «cmd» (без кавычек), открываем найденную системой утилиту
Шаг 2. Вбиваем следующую команду: «DEL /F /S /Q /A». Затем ставим пробел и вставляем путь к файлу.
Вводим команду «DEL /F /S /Q /A»
Как узнать путь к файлу?
- Кликните по нему правой кнопкой мыши и зайдите в «Свойства».
Правой кнопкой мышки щелкаем по файлу, открываем пункт «Свойства»
- Во вкладке «Общие» скопируйте данные из строки «Расположение».
Копируем данные из строки «Расположение» во вкладке «Общие»
Шаг 3. Вставьте скопированный текст в CMD (он должен быть в кавычках).
Щелкаем правой кнопкой мышки после буквы А и пробела, в меню кликаем по пункту «Вставить»
Путь к файлу выделяем кавычками
Шаг 4. Теперь скопируйте имя файла из поля (вместе с расширением – смотрите скриншот) и вставьте в CMD.
Выделяем название файла и правым кликом мышки вызываем меню, щелкаем по пункту «Копировать»
Шаг 5. Закройте кавычки и нажмите «Enter».
Закрываем кавычки и нажимаем «Enter»
Готово – файл удален навсегда.
После завершения процесса, командная строка сообщит, что «Удален файл» и его путь
Если вы хотите узнать, как удалить папку, если она не удаляется, вы можете прочитать статью об этом на нашем портале.
Как удалить программу через командную строку в Windows 7
Бывает, что программа не удаляется стандартным приложением Windows (из панели управления). Чтобы навсегда удалить ПО, очистив не только его файлы, но и данные в реестре, пригодится командная строка.
Шаг 1. Запускаем CMD.
Открываем меню «Пуск», в поисковике вводим «командная строка» или «cmd» (без кавычек), открываем найденную системой утилиту
Шаг 2. Вбиваем «wmic».
Вводим команду «wmic», нажимаем «Enter»
Шаг 3. Теперь нужно узнать наименования конкретного приложения в Windows, чтобы не ошибиться и не удалить полезный софт. Для этого вбиваем «product get name» (дословно — «получить имя продукта»).
В следующем поле вводим команду «product get name», нажимаем «Enter»
Шаг 4. Деинсталлируем программу в командной строке. Остается только вбить текст «product where name=”название программы” call uninstall». Текст в кавычках – это наименование софта их списка, предоставленного командной строкой.
Вводим команду «product where name=”название программы” call uninstall», вместо «название программы», название удаляемого софта, щелкаем «Enter»
Шаг 5. Готово! Проверить, удален софт или нет можно зайдя в приложение «Удаление программы» из «Панели управления». Если в списке ПО нет – значит операция выполнена успешно.
Как в командной строке перейти на другой диск
Для перемещения по каталогам и локальным дискам используется привычный инструмент навигации – проводник. Однако, и при помощи CMD можно переходить в директории, расположенные на винчестере.
Данная инструкция дает ответ на вопрос «как в командной строке перейти в папку другую», принципиальной разницы между директорией и локальными разделами винчестера – нет.
Шаг 1. Запускаем CMD.
Открываем меню «Пуск», в поисковике вводим «командная строка» или «cmd» (без кавычек), открываем найденную системой утилиту
Шаг 2. Вбиваем команду «cd /d «d:»». В кавычках – адрес нашего локального диска или директории.
В поле вводим команду «cd /d «d:»», в кавычках – адрес нашего локального диска или директории, нажимаем «Enter»
Как сделать bat файл
Bat файл – алгоритм, который может написать пользователь в утилите CMD. Касаемо нашей темы, — возможно, произвести удаление папки с помощью команды bat файла, вписав последовательность шагов. Инструкция по созданию БАТ файла:
Шаг 1. Создаем простой документ в Блокноте.
Щелкаем правой кнопкой мышки по пустому месту рабочего стола, наводим курсор по пункту «Создать», выбираем «Текстовый документ»
Шаг 2. Можно поставить несколько пробелов или какой-то простой текст. Делается это для того, чтобы файл сохранился программой (главное – чтобы он не был пустым). Сейчас это не играет большой роли, поскольку для создания БАТ файла мы задействуем утилиту Notepad++.
Открываем новый документ, что-нибудь в него вводим, нажимаем «Файл», затем «Сохранить» и закрываем его
Шаг 3. Скачиваем Notepad. Устанавливаем.
Находим Notepad и переходим на сайт разработчика
В разделе «download» выбираем программу под параметры своей системы и нажимаем «Download», далее устанавливаем программу, следуя инструкции установщика
Шаг 4. Открываем наш документ.
В утилите Notepad, щелкаем по вкладке «Файл», нажимаем на пункт «Открыть»
Шаг 5. В меню выбираем «Кодировки» -> «Кириллица» -> «OEM 866».
Переходим в закладку «Кодировки», далее наводим курсор на пункт «Кодировки», далее «Кириллица», затем щелкаем по пункту «OEM 866»
Шаг 6. Переходим в закладку «Файл», выбираем «Сохранить как». Подтверждаем действие и делаем замену старого файла на новый.
Переходим в закладку «Файл», выбираем «Сохранить как»
Нажимаем «Сохранить»
Нажимаем «Да»
Шаг 7. Теперь уже можно удалить старое содержимое файла и вбить нужный алгоритм.
Открываем сохраненный файл, меняем текст на нужный скрипт или алгоритм
Шаг 8. Сохраняем документ и меняем расширение с txt на bat.
Открываем «Файл», выбираем «Сохранить как»
Меняем имя файла, расширение вместо .txt меняем на .bat, в поле «Тип файла» выбираем «Все файлы», нажимаем «Сохранить»
Готово!
Созданный bat.файл
Видео — Как удалить папку с помощью командной строки (cmd) в Windows
Рекомендуем похожие статьи
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:
-
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%TempCleanTest
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:TempCleanTestSubfolder1
, Subfolder1
is deleted by RD, and next POPD fails silently in making C:TempCleanTestSubfolder1
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 /?
I use Windows.
I want to delete all files and folders in a folder by system call.
I may call like that:
>rd /s /q c:destination
>md c:destination
Do you know an easier way?
rene
40.8k78 gold badges118 silver badges149 bronze badges
asked Oct 1, 2009 at 9:32
2
No, I don’t know one.
If you want to retain the original directory for some reason (ACLs, &c.), and instead really want to empty it, then you can do the following:
del /q destination*
for /d %x in (destination*) do @rd /s /q "%x"
This first removes all files from the directory, and then recursively removes all nested directories, but overall keeping the top-level directory as it is (except for its contents).
Note that within a batch file you need to double the %
within the for
loop:
del /q destination*
for /d %%x in (destination*) do @rd /s /q "%%x"
answered Oct 1, 2009 at 9:41
JoeyJoey
339k83 gold badges680 silver badges679 bronze badges
12
del c:destination*.* /s /q
worked for me. I hope that works for you as well.
ra.
1,79814 silver badges15 bronze badges
answered Oct 11, 2012 at 19:45
SeanSean
4634 silver badges2 bronze badges
5
I think the easiest way to do it is:
rmdir /s /q "C:FolderToDelete"
The last «» in the path is the important part.
This deletes the folder itself. To retain, add mkdir "C:FolderToDelete"
to your script.
AlainD
4,8563 gold badges37 silver badges90 bronze badges
answered Nov 20, 2014 at 10:26
BananBanan
4334 silver badges2 bronze badges
6
Yes! Use Powershell:
powershell -Command "Remove-Item 'c:destination*' -Recurse -Force"
answered Feb 16, 2017 at 15:00
Rosberg LinharesRosberg Linhares
3,3891 gold badge31 silver badges33 bronze badges
1
If the subfolder names may contain spaces you need to surround them in escaped quotes. The following example shows this for commands used in a batch file.
set targetdir=c:example
del /q %targetdir%*
for /d %%x in (%targetdir%*) do @rd /s /q ^"%%x^"
answered Jan 24, 2014 at 10:05
fractorfractor
1,4942 gold badges14 silver badges30 bronze badges
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 "pathtofolder with spaces"
mydel.bat pathtofile_or_folder
answered Nov 10, 2016 at 17:44
Maxim SuslovMaxim Suslov
4,0111 gold badge30 silver badges29 bronze badges
One easy one-line option is to create an empty directory somewhere on your file system, and then use ROBOCOPY
(http://technet.microsoft.com/en-us/library/cc733145.aspx) with the /MIR
switch to remove all files and subfolders. By default, robocopy does not copy security, so the ACLs in your root folder should remain intact.
Also probably want to set a value for the retry switch, /r
, because the default number of retries is 1 million.
robocopy "C:DoNotDelete_UsedByScriptsEmptyFolder" "c:tempMyDirectoryToEmpty" /MIR /r:3
answered May 27, 2014 at 15:43
BateTechBateTech
5,6423 gold badges19 silver badges31 bronze badges
I had an index folder with 33 folders that needed all the files and subfolders removed in them. I opened a command line in the index folder and then used these commands:
for /d in (*) do rd /s /q "%a" & (
md "%a")
I separated them into two lines (hit enter after first line, and when asked for more add second line) because if entered on a single line this may not work. This command will erase each directory and then create a new one which is empty, thus removing all files and subflolders in the original directory.
SteveTurczyn
35.5k6 gold badges40 silver badges53 bronze badges
answered Jul 8, 2014 at 19:43
0
answered Jun 20, 2016 at 17:41
NoWarNoWar
35.7k78 gold badges317 silver badges490 bronze badges
1
It takes 2 simple steps. [/q means quiet, /f means forced, /s means subdir]
-
Empty out the directory to remove
del *.* /f/s/q
-
Remove the directory
cd .. rmdir dir_name /q/s
answered May 11, 2020 at 21:51
Jenna LeafJenna Leaf
2,20321 silver badges29 bronze badges
1
try this, this will search all MyFolder under root dir and delete all folders named MyFolder
for /d /r "C:Userstest" %%a in (MyFolder) do if exist "%%a" rmdir /s /q "%%a"
Paul Roub
36.2k27 gold badges82 silver badges89 bronze badges
answered Jul 14, 2020 at 17:57
del .*
This Command delete all files & folders from current navigation in your command line.
answered Nov 14, 2020 at 9:11
I use Windows.
I want to delete all files and folders in a folder by system call.
I may call like that:
>rd /s /q c:destination
>md c:destination
Do you know an easier way?
rene
40.8k78 gold badges118 silver badges149 bronze badges
asked Oct 1, 2009 at 9:32
2
No, I don’t know one.
If you want to retain the original directory for some reason (ACLs, &c.), and instead really want to empty it, then you can do the following:
del /q destination*
for /d %x in (destination*) do @rd /s /q "%x"
This first removes all files from the directory, and then recursively removes all nested directories, but overall keeping the top-level directory as it is (except for its contents).
Note that within a batch file you need to double the %
within the for
loop:
del /q destination*
for /d %%x in (destination*) do @rd /s /q "%%x"
answered Oct 1, 2009 at 9:41
JoeyJoey
339k83 gold badges680 silver badges679 bronze badges
12
del c:destination*.* /s /q
worked for me. I hope that works for you as well.
ra.
1,79814 silver badges15 bronze badges
answered Oct 11, 2012 at 19:45
SeanSean
4634 silver badges2 bronze badges
5
I think the easiest way to do it is:
rmdir /s /q "C:FolderToDelete"
The last «» in the path is the important part.
This deletes the folder itself. To retain, add mkdir "C:FolderToDelete"
to your script.
AlainD
4,8563 gold badges37 silver badges90 bronze badges
answered Nov 20, 2014 at 10:26
BananBanan
4334 silver badges2 bronze badges
6
Yes! Use Powershell:
powershell -Command "Remove-Item 'c:destination*' -Recurse -Force"
answered Feb 16, 2017 at 15:00
Rosberg LinharesRosberg Linhares
3,3891 gold badge31 silver badges33 bronze badges
1
If the subfolder names may contain spaces you need to surround them in escaped quotes. The following example shows this for commands used in a batch file.
set targetdir=c:example
del /q %targetdir%*
for /d %%x in (%targetdir%*) do @rd /s /q ^"%%x^"
answered Jan 24, 2014 at 10:05
fractorfractor
1,4942 gold badges14 silver badges30 bronze badges
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 "pathtofolder with spaces"
mydel.bat pathtofile_or_folder
answered Nov 10, 2016 at 17:44
Maxim SuslovMaxim Suslov
4,0111 gold badge30 silver badges29 bronze badges
One easy one-line option is to create an empty directory somewhere on your file system, and then use ROBOCOPY
(http://technet.microsoft.com/en-us/library/cc733145.aspx) with the /MIR
switch to remove all files and subfolders. By default, robocopy does not copy security, so the ACLs in your root folder should remain intact.
Also probably want to set a value for the retry switch, /r
, because the default number of retries is 1 million.
robocopy "C:DoNotDelete_UsedByScriptsEmptyFolder" "c:tempMyDirectoryToEmpty" /MIR /r:3
answered May 27, 2014 at 15:43
BateTechBateTech
5,6423 gold badges19 silver badges31 bronze badges
I had an index folder with 33 folders that needed all the files and subfolders removed in them. I opened a command line in the index folder and then used these commands:
for /d in (*) do rd /s /q "%a" & (
md "%a")
I separated them into two lines (hit enter after first line, and when asked for more add second line) because if entered on a single line this may not work. This command will erase each directory and then create a new one which is empty, thus removing all files and subflolders in the original directory.
SteveTurczyn
35.5k6 gold badges40 silver badges53 bronze badges
answered Jul 8, 2014 at 19:43
0
answered Jun 20, 2016 at 17:41
NoWarNoWar
35.7k78 gold badges317 silver badges490 bronze badges
1
It takes 2 simple steps. [/q means quiet, /f means forced, /s means subdir]
-
Empty out the directory to remove
del *.* /f/s/q
-
Remove the directory
cd .. rmdir dir_name /q/s
answered May 11, 2020 at 21:51
Jenna LeafJenna Leaf
2,20321 silver badges29 bronze badges
1
try this, this will search all MyFolder under root dir and delete all folders named MyFolder
for /d /r "C:Userstest" %%a in (MyFolder) do if exist "%%a" rmdir /s /q "%%a"
Paul Roub
36.2k27 gold badges82 silver badges89 bronze badges
answered Jul 14, 2020 at 17:57
del .*
This Command delete all files & folders from current navigation in your command line.
answered Nov 14, 2020 at 9:11
Рекомендации помогут Вам полностью удалить папку через командную строку. В статье про удаление файла из командной строки, использовалась команда DEL, которая предназначена именно для файлов. В случае с папками, применимы команды RD или RMDIR.
Для достижения цели, откройте cmd c привилегиями администратора. Введите RD /? и бегло ознакомьтесь с особенностями и параметрами команды. Здесь Вы увидите всего лишь 2 параметра:
- /s — при использовании этого префикса, удалится папка, а также все вложенные в нее элементы. Если Ваш каталог не пустой, и Вы не прописали это параметр, тогда у Вас ничего не выйдет.
- /Q — используется при удалении без подтверждения.
В общем виде конструкция выглядит таким образом:
RD или RMDIR /s/q “полный путь папки”
Примечание: при применении конструкции, каталог и его содержимое полностью удалится с компьютера и Вы не найдете его в корзине. Для безопасности сделайте резервную копию папки.
Удаление папки с подтверждением и без
У себя на компьютере я создал каталог с названием «cmd» и скопировал в него несколько объектов. Далее ввел в командную строку такую команду:
RD /s “c:cmd”
Затем нажал Enter и клавишу Y, так как cmd сделала запрос на подтверждение удаления.
Проверив диск C, я не обнаружил каталога. Далее создал папку с именем «удалить» и также скопировал 5 файлов, но при вводе команды, убрал префикс /s. Получилось так:
RMDIR “c:удалить”
После нажатия Enter, удаления не произошло, а в командной строке высветилось сообщение, что папка не пуста. Вывод, без параметра /s Вы сможете удалить только пустую папку, следовательно, использование без данного префикса практически бесполезно.
Если Вам лень вводить букву подтверждения (Y или N), тогда следующая конструкция для Вас. Выше упоминался префикс /q, именно он убирает надоедливый ввод букв (для доказательства смотрите скрин).
Вот и все, такими действиями Вы без проблем сможете удалить папку из командной строки, используя вовсе не сложный синтаксис. Со знаниями cmd ваши любые задумки превратятся в реальность, с которыми Вы даже выключите компьютер из командной строки и сделаете многое другое.
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.
Удаление папки в windows – простой способ
Удаление папок и файлов без корзины в Windows
Как удалить папку через командную строку
Как удалить папку через powershell
Для удобства хранения файлов и ярлыков программ в операционной системе Windows можно создавать папки. В них помещаются файлы или другие папки. Когда папка перестает быть нужной, мы ее удаляем. Папка удаляется вместе со всем содержимым, поэтому перед удалением проверьте, что в удаляемом каталоге нет ничего важного. В этой статье мы рассмотрим несколько способов удаления папки Windows.
Удаление папки в windows – простой способ
Самый простой способ удалить папку с компьютера – воспользоваться стандартной возможностью интерфейса windows.
Нажмите правой кнопкой на папку и выберите “Удалить”.
Папка переместится в корзину. Далее необходимо перейти в корзину и нажать “Очистить корзину”.
Также можно кликнуть правой кнопкой мыши на ярлык корзины и выбрать пункт “Очистить корзину”.
В появившемся окне «Удалить папку» нажимаем на кнопку «Да».
Теперь папка полностью удалена с компьютера.
Удаление папок и файлов без корзины в Windows
В Windows можно удалять файлы, минуя корзину. Это позволяет намного быстрее очищать рабочее пространство компьютера. Чтобы удалить папку или любой другой файл, выделите его, нажав один раз левой кнопкой мыши.
Также можно зажать левую кнопку мыши и выделите сразу несколько объектов. Далее нажмите сочетание клавиш “Shift+DEL”.
Появится окно «Удалить папку», нажимаем на кнопку «Да».
Файлы полностью удалены с вашего компьютера.
Как удалить папку через командную строку
Иногда требуется удалить папку в windows через командную строку. Процесс удаления очень прост.
Нажмите сочетание клавиш “Win+R” и введите в поле “cmd”.
Появится окно «Командная строка».
В открывшемся окне вводим:
Данная команда удаляет папку с подтверждением.
RD /s “путь к папке”
Нажимаем на “Enter”, после этого нажмите на клавиатуре “y”, чтобы подтвердить удаление.
А вот это уже без подтверждения.
RD /s/q “путь к папке”
После этого нажимаем “Enter”. Папка удалена с вашего компьютера.
Как удалить папку через powershell
Удаление папки может потребоваться и при написании скриптов на языке powershell. Скрипт – сценарий, который пишут администраторы для автоматизации администрирования системы. Запустив его, начнется исполнение указанных в нем команд. Чтобы удалить папку в Windows с помощью powershell, откройте обычный блокнот и напишите следующую строчку без кавычек:
Remove-Item -Path “Путь к файлу или каталогу(папку)”
Сохраните файл в расширении *.ps1. После этого можно запустить скрипт двойным щелчком мыши. Папка будет удалена.
Так же, можно не создавать текстовый файл, так как задачу можно выполнить в оболочке powershell.
Сочетанием клавиш “Win+R” откройте меню “Выполнить”, введите powershell и нажмите на клавишу Enter.
Далее в открывшемся окне просто введите указанную выше строку и нажмите “Enter”.
Как удалить с папку с рабочего стола
Тут, тоже ничего сложного.
Нажмаем правой кнопкой на папку для удаления и выберите “Удалить”.
Папка переместится в корзину. Далее нажимаем правой кнопкой мыши на корзину и выбираем “Очистить корзину”.
Теперь нажимаем на кнопку «Да».
Готово, папка удалена.
Итоги
Периодически нам требуется удалять ненужные папки с компьютера. В зависимости от ситуации, мы используем разные способы удаления. Так при “повседневной” работе можно просто нажать правой кнопкой мыши на папку и удалить её. Иногда для удаления папки требуется использовать cmd или powershell.