Dies hängt von der Shell ab, die Sie bevorzugen.
Wenn Sie die Cmd-Shell unter Windows verwenden, sollte Folgendes funktionieren:
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"
Wenn Sie eine Shell vom Typ bash oder zsh verwenden (z. B. git bash oder babun unter Windows oder den meisten Linux / OS X-Shells), ist dies eine viel schönere und prägnantere Methode, um das zu tun, was Sie wollen:
find . -iname "bin" | xargs rm -rf
find . -iname "obj" | xargs rm -rf
und dies kann mit einem ODER auf eine Zeile reduziert werden:
find . -iname "bin" -o -iname "obj" | xargs rm -rf
Beachten Sie, dass find Ihre Einträge unverändert sendet, wenn Ihre Dateinamenverzeichnisse Leerzeichen oder Anführungszeichen enthalten. Xargs kann in mehrere Einträge aufgeteilt werden. Wenn Ihre Shell sie unterstützt -print0
und -0
dieses Manko umgeht, werden die obigen Beispiele wie folgt:
find . -iname "bin" -print0 | xargs -0 rm -rf
find . -iname "obj" -print0 | xargs -0 rm -rf
und:
find . -iname "bin" -o -iname "obj" -print0 | xargs -0 rm -rf
Wenn Sie Powershell verwenden, können Sie Folgendes verwenden:
Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }
Wie in der Antwort von Robert H unten zu sehen - stellen Sie sicher, dass Sie ihm die Powershell-Antwort und nicht mir zuschreiben, wenn Sie sich dafür entscheiden, etwas zu verbessern :)
Es wäre natürlich ratsam, jeden Befehl, den Sie auswählen, zuerst an einem sicheren Ort auszuführen, um ihn zu testen!