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")

¿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
    

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.


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.


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)


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 .


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"

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.


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"


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

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

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"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.