Esto depende del shell que prefiera usar.
Si está utilizando el shell cmd en Windows, lo siguiente debería funcionar:
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S bin') DO RMDIR /S /Q "%%G"
FOR /F "tokens=*" %%G IN ('DIR /B /AD /S obj') DO RMDIR /S /Q "%%G"
Si está utilizando un shell de tipo bash o zsh (como git bash o babun en Windows o la mayoría de los shells Linux / OS X), esta es una forma mucho más agradable y sucinta de hacer lo que desea:
find . -iname "bin" | xargs rm -rf
find . -iname "obj" | xargs rm -rf
y esto se puede reducir a una línea con un OR:
find . -iname "bin" -o -iname "obj" | xargs rm -rf
Tenga en cuenta que si sus directorios de nombres de archivo contienen espacios o comillas, find enviará esas entradas tal cual, que xargs pueden dividir en múltiples entradas. Si su shell los admite -print0
y -0
evitará esta deficiencia, los ejemplos anteriores se convertirán en:
find . -iname "bin" -print0 | xargs -0 rm -rf
find . -iname "obj" -print0 | xargs -0 rm -rf
y:
find . -iname "bin" -o -iname "obj" -print0 | xargs -0 rm -rf
Si está utilizando Powershell, puede usar esto:
Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }
como se ve en la respuesta de Robert H a continuación , solo asegúrate de darle crédito por la respuesta de PowerShell en lugar de mí si eliges votar algo :)
¡Por supuesto, sería prudente ejecutar cualquier comando que elija en un lugar seguro primero para probarlo!