Это зависит от того, какую оболочку вы предпочитаете использовать.
Если вы используете оболочку cmd в Windows, то должно работать следующее:
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"
Если вы используете оболочку типа bash или zsh (например, git bash или babun в Windows или в большинстве оболочек Linux / OS X), то это гораздо более приятный и лаконичный способ сделать то, что вы хотите:
find . -iname "bin" | xargs rm -rf
find . -iname "obj" | xargs rm -rf
и это может быть уменьшено до одной строки с помощью ИЛИ:
find . -iname "bin" -o -iname "obj" | xargs rm -rf
Обратите внимание, что если ваши каталоги имен файлов содержат пробелы или кавычки, find отправит эти записи как есть, и xargs может разделиться на несколько записей. Если ваша оболочка поддерживает их -print0
и -0
будет обходить этот короткий путь, то приведенные выше примеры станут следующими:
find . -iname "bin" -print0 | xargs -0 rm -rf
find . -iname "obj" -print0 | xargs -0 rm -rf
и:
find . -iname "bin" -o -iname "obj" -print0 | xargs -0 rm -rf
Если вы используете Powershell, вы можете использовать это:
Get-ChildItem .\ -include bin,obj -Recurse | foreach ($_) { remove-item $_.fullname -Force -Recurse }
как видно из ответа Роберта Н. ниже - просто убедитесь, что вы отдаете ему должное за ответ в PowerShell, а не мне, если вы решите что-либо проголосовать :)
Конечно, было бы разумно сначала выполнить любую команду, которую вы выберете в безопасном месте, чтобы проверить ее!