Как рекурсивно удалить каталог из командной строки в окнах?

Что является эквивалентом команды rm -r [directory-name] для windows?

Решение

deltree, если я помню свою DOS.


Кажется, он был обновлен... это то, что вам нужно:

Это удалит каталог C:\test, с подсказками:

rmdir c:\test /s

Это делает то же самое, без подсказок:

rmdir c:\test /s /q

Что касается sudo, если вам нужно больше привилегий, вы можете сначала открыть новую оболочку от имени другой учетной записи пользователя с помощью команды runas, например, так:

runas /user:Administrator cmd
rmdir c:\test /s /q
Комментарии (7)

Если вам нужно удалить из командной строки длинную и сложную структуру папок, которую RmDir не хочет трогать и даже explorer не может отобразить, я обнаружил, что robocopy может быть очень эффективным средством для удаления структуры. В примере ниже у нас есть массивная структура внутри папки administrator, структура настолько глубокая, что ничто не может ее удалить. Мы создаем новую пустую папку под названием (как ни странно!) "Новая папка". Затем мы используем команду robocopy, указывая ей исходную папку "new folder" и папку назначения "D:\Administrator" с параметром /MIR, который означает, что она будет очищать все, что не находится в исходной папке.

robocopy "D:\new folder" D:\Administrator /MIR

В данном случае пути к папкам были настолько длинными, что даже не поместились бы в окне командной строки Screen Buffer, но Robocopy обходит структуру и удаляет все "лишние" файлы и папки (т. е. все, что не находится в новой пустой папке, а это все).

Комментарии (1)

Вы можете сделать следующее в PowerShell, если вы'вновь на Windows Vista с+ :

rm C:\path\to\delete -r -f[orce]
Комментарии (1)

Для меня, что работает

del /s dir

Вы можете добавить /Q, чтобы отключить подтверждение. Я'вэ не удалось вытащить команду rmdir` работает (на XP)

Комментарии (2)

Если у вас очень длинный путь (как у меня из-за ошибки java-программы), даже robocopy не справится. Он спустился на мой путь примерно на 30 секунд, а затем завис.

Мое решение: если вы можете переместить весь проблемный путь из одной папки в другую, то вы можете рекурсивно и многократно отрезать несколько каталогов сверху.

Этот пакет играет в пинг-понг между двумя директориями leer и leer2 и отсекает 8 'библиотек' каждый раз. Если ваш путь содержит файлы, вам придется добавить дополнительные команды для их удаления.

recurdel.cmd
:loop
move c:\leer\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer2
rd /S /Q c:\leer\libraries
move c:\leer2\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer
rd /S /Q c:\leer2\libraries
GOTO loop
Комментарии (0)

Из УМК Просто запустите РД /с C:\path\to\delete Нажмите Y на запрос

/S обеспечивает всех вложенных каталогов, также удаляются.

Ссылка Запустить помочь РД из командной строки

Комментарии (1)

Это позволит удалить "мой папка" без приглашения:

rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"
Комментарии (0)