Как рекурсивно удалить каталог из командной строки в окнах?
Какие окна эквивалентны rm -r [directory-name]
?
Какие окна эквивалентны rm -r [directory-name]
?
. deltree
если я помню свой DOS
Похоже, он был обновлен… Это то, что вы хотите:
RMDIR /S
**
Это удаляет каталог C:\test
, с подсказками :
rmdir c:\test /s
Это делает то же самое, без подсказок :
rmdir c:\test /s /q
Что касается sudo части вашего вопроса, если вам нужно больше приватных данных, вы можете сначала открыть новую оболочку в качестве другой учетной записи, используя команду runas
, например:
runas /user:Administrator cmd
rmdir c:\test /s /q
Если вы хотите удалить длинную и сложную структуру папок из командной строки, которую RmDir не трогает и даже проводник не может отобразить, я обнаружил, что робокопия может быть очень эффективна при удалении структуры. В приведенном ниже примере у нас есть массивная структура внутри администратора папок, структура настолько глубока, что ничто не сможет ее удалить. Мы создаем новую пустую папку под названием (как ни странно!) “новая папка”. Затем мы используем команду robocopy, сказав ей, что исходная папка - это “новая папка”, а целевая папка - это “D:\Administrator” с параметром /MIR, что означает, что она удалит все, что не находится в исходной папке.
robocopy "D:\new folder" D:\Administrator /MIR
В этом случае пути к папке были настолько длинными, что они даже не поместились бы в окно командной строки Screen Buffer, но Robocopy пройдет через структуру и удалит все “лишние” файлы и папки (т.е. все, что угодно, только не в новой пустой папке, а это все).
Вы можете сделать следующее в PowerShell, если вы используете Windows Vista+ :
rm C:\path\to\delete -r -f[orce]
Для меня, что работает
del /s dir
Вы можете добавить /q
, чтобы отключить подтверждение. Мне никогда не удавалось заставить rmdir
работать (на XP).
Если у вас очень длинный путь (как у меня из-за ошибки java-программы), то даже робокопия не может этого сделать. Он опустился примерно на 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
Из CMD Просто запустите RD /s C:\path\to\delete Нажмите Y в приглашение
/s, чтобы также удалить все подкаталоги.
Справка о Reference Run help RD из командной строки
Это удалит “мою папку” без подсказки:
rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"
```.