Dies hängt davon ab, welche Shell Sie bevorzugen zu verwenden.
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 bash- oder zsh-Shell verwenden (wie z.B. git bash oder babun unter Windows oder die meisten Linux/OS X-Shells), dann ist dies ein viel angenehmerer, prägnanterer Weg, um zu erreichen, was Sie wollen:
find . -iname "bin" | xargs rm -rf
find . -iname "obj" | xargs rm -rf
und dies kann auf eine Zeile mit einem ODER reduziert werden:
find . -iname "bin" -o -iname "obj" | xargs rm -rf
Beachten Sie, dass wenn Ihre Verzeichnisse oder Dateinamen Leerzeichen oder Anführungszeichen enthalten, find diese Einträge so senden wird, wie sie sind, was xargs in mehrere Einträge aufteilen kann. Wenn Ihre Shell sie unterstützt, werden -print0
und -0
diese Schwäche umgehen, so dass die oben genannten Beispiele wie folgt lauten:
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 dies verwenden:
Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }
wie in Robert H's Antwort unten gesehen - stellen Sie sicher, dass Sie ihm für die Powershell-Antwort Anerkennung geben, anstatt mir, wenn Sie sich dafür entscheiden, etwas zu up-voten :)
Es wäre natürlich ratsam, zuerst irgendwo sicher das gewählte Kommando auszuführen, um es zu testen!
80 Stimmen
Es wäre schön, wenn Build->Clean Solution dies tatsächlich tun würde.
2 Stimmen
Es gibt ein Plugin, das ich gefunden habe namens CleanBinAndObj, das alle bin und obj Ordner löscht. Sehr effektiv für einzelne Lösungen mit vielen Projekten.