Eliminar archivos o carpetas de forma recursiva en Windows CMD

135

¿Cómo elimino archivos o carpetas de forma recursiva en Windows desde la línea de comandos?

He encontrado esta solución en la ruta que manejamos en la línea de comando y ejecutamos este comando.

He dado un ejemplo con una carpeta de extensión de archivo .svn:

for /r %R in (.svn) do if exist %R (rd /s /q "%R")
modasser
fuente
¿Qué quieres decir con " por dónde vamos por el camino" ?
Peter Mortensen

Respuestas:

129

Ejecute los siguientes pasos:

  1. Abra el símbolo del sistema
  2. Cambiar el directorio a la ruta requerida
  3. Dar el siguiente comando

    del /S *.svn
    
DGuntoju
fuente
44
No funciona para mí, elimina solo los archivos en el directorio actual.
delphirules
119

Las otras respuestas no funcionaron para mí, pero esto sí:

del /s /q *.svn
rmdir /s /q *.svn

/ q desactiva Sí / No preguntar

/ s significa eliminar los archivos de todos los subdirectorios.

Lucas
fuente
Creo que mis necesidades son las mismas que está intentando hacer: estoy tratando de eliminar todas las carpetas .svn en un directorio de proyecto y todos los subdirectorios. En Windows 2012, esta respuesta no funciona para mí. Está eliminando la carpeta .svn en el directorio actual, pero no de ninguno de los directorios secundarios.
Jim
42

Puedes usar esto en el batscript:

rd /s /q "c:\folder a"

Ahora, simplemente cambie c:\folder aa la ubicación de su carpeta. La cita solo es necesaria cuando el nombre de la carpeta contiene espacios.

Sean Vaughn
fuente
Este comando no funciona y arroja un error como el siguiente D: \> rd / s / q "D: \ Root a" El sistema no puede encontrar el archivo especificado.
abhayk
55
A menos que su directorio realmente tenga un space anombre, entonces omita esa parte.
Jesse Chisholm
22
RMDIR path_to_folder /S

ex. RMDIR "C:\tmp" /S

Tenga en cuenta que se le preguntará si realmente va a eliminar la carpeta "C: \ tmp". La combinación con el modificador / Q eliminará la carpeta en silencio (ej. RMDIR "C:\tmp" /S /Q)

Anton
fuente
8

Para la eliminación de archivos, escribí el siguiente archivo por lotes simple que eliminó todos los archivos .pdf de forma recursiva:

del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"

Incluso para el directorio local podemos usarlo como:

del /s /q "C:\Project\*.pdf"

Lo mismo se puede aplicar para la eliminación de directorios donde solo necesitamos cambiar del con rmdir .

khichar.anil
fuente
4

Si desea eliminar una extensión específica de forma recursiva, use esto:

For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"
Saleh Ahmed
fuente
3

También puedes hacer:

del /s /p *.{your extension here}

Le /ppreguntará por cada archivo encontrado, si está nervioso por eliminar algo que no debería.

Michael Armes
fuente
2

Use el comando rmdir de Windows

Es decir, rmdir / S / Q C: \ Temp

También estoy usando los siguientes a continuación durante algunos años, sin problemas.

Vea otras opciones con: forfiles /?

Eliminar SQM / Telemetry en la carpeta de Windows de forma recursiva

forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"

Eliminar archivos TMP de Windows de forma recursiva

forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"

Eliminar archivos y carpetas TEMP de usuario de forma recursiva

forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"
mjoao
fuente
2

Para limpiar completamente una carpeta con comandos nativos y obtener un registro de lo que se ha hecho.

Aquí hay una forma inusual de hacerlo:

supongamos que queremos borrar el directorio d: \ temp

mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty
Max
fuente
Esta es una solución muy inteligente que resolvió mi problema. Utilicé robocopy para copiar mi directorio AppData, sin pensar en la unión autorreferenciada. Esta era la única forma en que podía eliminar todos los archivos ocultos de forma recursiva. ¡Nunca olvides el / xj!
Chris Larabell
0

Para los archivos ocultos tuve que usar lo siguiente:

DEL /S /Q /A:H Thumbs.db
Selrac
fuente
Anticuado. Windows XP ya no es compatible con Microsoft Co.
Mesalcode
Tuve que usar esto para eliminar archivos .dcm que quedaron de una restauración de copia de seguridad (Windows 10)
Gerald Murphy
0
dir /b %temp% >temp.list
for /f "delims=" %%a in (temp.list) do call rundll32.exe advpack.dll,DelNodeRunDLL32 "%temp%\%%a"
alexsupra
fuente