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

Что такое эквивалент Windows rm -r [имя-каталога] ?

212 голосов | спросил Eric Wilson 23 PM000000110000003031 2010, 23:29:30

7 ответов


311

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


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

  

RMDIR /S

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

  rmdir c: \ test /s
 

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

  rmdir c: \ test /s /q
 

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

  runas /user: Администратор cmd
rmdir c: \ test /s /q
 
ответил Colin Pickard 23 PM000000110000000731 2010, 23:30:07
54

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

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

В этом случае пути к папкам были такими длинными, что они даже не поместились в окне командной строки «Экранный буфер», но Robocopy пересечет структуру и удалит все «лишние» файлы и папки (то есть ничего не в новой пустой папке, который есть все).

ответил Sean 10 AM00000030000004731 2012, 03:13:47
9

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

  rm C: \ path \ to \ delete -r -f [orce]
 
ответил Devesh Khandelwal 22 PM00000070000004731 2015, 19:51:47
4

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

  del /s dir
 

Вы можете добавить /q , чтобы отключить подтверждение. Мне никогда не удавалось работать rmdir (на XP)

ответил Vincent Fourmond 17 Mayam14 2014, 11:42:13
2

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

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

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

  recurdel.cmd
: петля
перемещение c: \ leer \ libraries \ libraries \ libraries \ libraries \ libraries \ libraries \ libraries \ libraries c: \ leer2
rd /S /Q c: \ leer \ libraries
перемещение c: \ leer2 \ libraries \ libraries \ libraries \ libraries \ libraries \ libraries \ libraries \ libraries c: \ leer
rd /S /Q c: \ leer2 \ libraries
Цикл GOTO
 
ответил Paulmann 5 MarpmWed, 05 Mar 2014 12:37:13 +04002014-03-05T12:37:13+04:0012 2014, 12:37:13
2

Из CMD Просто запустите RD /s C: \ path \ to \ delete Нажмите Y в приглашении

/s гарантирует, что все подкаталоги также будут удалены.

Ссылка Бег помощь RD из командной строки

ответил Rachit Ranjan 22 Jam1000000amFri, 22 Jan 2016 09:44:36 +030016 2016, 09:44:36
0

Это приведет к удалению «моей папки» без подсказки:

  rd /s /q "C: \ Users \ gourav.g \ AppData \ Роуминг \ моя папка"
 
ответил JerryGoyal 4 J000000Wednesday18 2018, 10:09:54

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132