¿Cómo borrar recursivamente un directorio desde la línea de comandos en Windows?

¿Cuál es el equivalente en Windows de rm -r [nombre del directorio]?

Solución

si recuerdo mi DOS.


Parece que se ha actualizado... esto es lo que quieres:

Esto elimina el directorio C:\test, con indicaciones :

rmdir c:\test /s

Esto hace lo mismo, sin indicaciones :

rmdir c:\test /s /q

En cuanto a la parte sudo de tu pregunta, si necesitas más privilegios, puedes abrir primero un nuevo shell como otra cuenta de usuario usando el comando runas, así:

runas /user:Administrator cmd
rmdir c:\test /s /q
Comentarios (7)

Si quieres eliminar una estructura de carpetas larga y complicada desde el símbolo del sistema que RmDir no tocará y ni siquiera el explorador puede mostrar, he encontrado que robocopy puede ser muy eficiente para eliminar la estructura. En el ejemplo siguiente tenemos una estructura masiva dentro de la carpeta administrator, la estructura es tan profunda que nada puede eliminarla. Creamos una nueva carpeta vacía llamada (¡extrañamente!) "nueva carpeta". A continuación, utilizamos el comando robocopy, diciéndole que la carpeta de origen es "nueva carpeta" y la carpeta de destino es "D:\NAdministrador" con el parámetro /MIR que significa que purgará todo lo que no esté en la carpeta de origen.

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

En este caso, las rutas de las carpetas eran tan largas que ni siquiera cabían en la ventana del símbolo del sistema Screen Buffer, pero Robocopy recorrerá la estructura y eliminará cualquier "extra" de archivos y carpetas (es decir, cualquier cosa que no esté en la nueva carpeta vacía, que es todo).

Comentarios (1)

Si tienes una ruta realmente muy larga, (como me pasó a mí por un error del programa java), ni siquiera robocopy puede hacerlo. Descendió durante unos 30 segundos en mi ruta y luego se colgó.

Mi solución: si puedes mover toda la ruta del problema de una carpeta a otra, entonces puedes cortar recursivamente y repetidamente algunas escaleras de directorios desde arriba.

Este Batch juega pingpong entre los dos directorios leer y leer2 y corta 8 'bibliotecas' cada vez. Si su ruta contiene archivos, tiene que añadir más comandos para borrarlos.

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
Comentarios (0)