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

<p>что такое windows-эквивалент <code>rm -r [directory-name]</code>?</p>

<p>
<code>deltree</code> если я помню свой dos
,.</p><hr><p>кажется, это было обновлено ... это то, что вы хотите:</p><blockquote> <p><strong> <a href="http://www.computerhope.com/rmdirhlp.htm"><code>rmdir /s</code></a> </strong></p> </blockquote><p>это удаляет каталог <code>c:\test</code> с подсказками:</p><pre><code>rmdir c:\test /s </code></pre><p>это делает то же самое, без подсказок:</p><pre><code>rmdir c:\test /s /q </code></pre><p>что касается части sudo вашего вопроса, если вам нужно больше привилегий, вы можете сначала открыть новую оболочку как другую учетную запись пользователя с помощью команды <code>runas</code>, например:</p><pre><code>runas /user:administrator cmd rmdir c:\test /s /q </code></pre>

<p>если вы хотите удалить из командной строки длинную и сложную структуру папок, которую rmdir не коснется, и даже explorer не сможет отобразить, я обнаружил, что robocopy может быть очень эффективным при удалении структуры. в приведенном ниже примере мы имеем массивную структуру внутри администратора папок, структура настолько глубока, что ничто не может ее удалить. мы создаем новую пустую папку под названием (как ни странно!) «новая папка». затем мы используем команду robocopy, сообщая, что исходная папка - «новая папка», а целевая папка - «d:\administrator» с параметром/mir, что означает, что она удалит все, что не находится в исходной папке.</p><pre><code>robocopy "d:\new folder" d:\administrator /mir </code></pre><p>в этом случае пути к папкам были такими длинными, что они даже не помещались бы в окно командной строки screen buffer, но robocopy будет обходить структуру и удалять любые «лишние» файлы и папки (то есть все, что не находится в новой пустой папке, то есть все ).</p>

<p>если вы работаете в windows vista +, вы можете сделать следующее в powershell:</p><pre><code>rm c:\path\to\delete -r -f[orce] </code></pre>

<p>для меня то, что работает</p><pre><code>del /s dir </code></pre><p>вы можете добавить <code>/q</code>, чтобы отключить подтверждение. мне никогда не удавалось заставить работать <code>rmdir</code> (на xp)</p>

<p>если у вас действительно очень длинный путь (как я сделал из-за ошибки программы на java), даже robocopy не сможет это сделать. он спустился примерно на 30 секунд на мой путь, а затем завис.</p><p>мое решение: если вы можете переместить весь путь к проблеме из одной папки в другую, вы можете рекурсивно и многократно вырезать несколько ступеней каталога сверху.</p><p>этот пакет играет в пинг-понг между двумя каталогами leer и leer2 и каждый раз отсекает 8 «библиотек». если ваш путь содержит файлы, вы должны добавить дополнительные команды, чтобы стереть их.</p><pre><code>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 </code></pre>

<p>из cmd просто запустите rd/s c:\path\to\delete hit y в приглашении</p><p>/ s обеспечивает удаление всех подкаталогов.</p><p>справка запустите справку rd из командной строки</p>

<p>это удалит «мою папку» без запроса:</p><pre><code>rd /s /q "c:\users\gourav.g\appdata\roaming\my folder" </code></pre>