Questo dipende dalla shell che preferisci usare.
Se si utilizza la shell cmd su Windows, dovrebbe funzionare quanto segue:
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"
Se stai usando una shell di tipo bash o zsh (come git bash o babun su Windows o la maggior parte delle shell di Linux / OS X), questo è un modo molto più semplice e succinto di fare quello che vuoi:
find . -iname "bin" | xargs rm -rf
find . -iname "obj" | xargs rm -rf
e questo può essere ridotto a una riga con un OR:
find . -iname "bin" -o -iname "obj" | xargs rm -rf
Nota che se le tue directory di nomi di file contengono spazi o virgolette, find invierà tali voci così come sono, che gli xarg possono dividere in più voci. Se la shell li supporta -print0
e -0
risolverà questo problema, gli esempi precedenti diventano:
find . -iname "bin" -print0 | xargs -0 rm -rf
find . -iname "obj" -print0 | xargs -0 rm -rf
e:
find . -iname "bin" -o -iname "obj" -print0 | xargs -0 rm -rf
Se si utilizza Powershell, è possibile utilizzare questo:
Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }
come si vede nella risposta di Robert H qui sotto - assicurati di dargli credito per la risposta PowerShell piuttosto che per me se scegli di votare qualcosa :)
Naturalmente sarebbe saggio eseguire qualsiasi comando scegliate prima in un luogo sicuro per testarlo!