1 つのサブフォルダーの内容を保持しますか、それともサブフォルダー自体のみを保持しますか? 前者の場合は次のようにします。
Get-ChildItem 'C:\foo' -Exclude 'subfoldername' |
Where-Object { $_.PSIsContainer } |
Remove-Item -Recurse -Force
後者の場合、2 番目の手順でサブフォルダーの内容を削除します。
Get-ChildItem 'C:\foo' -Exclude 'subfoldername' |
Where-Object { $_.PSIsContainer } |
Remove-Item -Recurse -Force
Get-ChildItem 'C:\foo\subfoldername' | Remove-Item -Recurse -Force
PowerShell v3 以降では、パラメーターを にWhere-Object追加してフィルターを置き換えることができます。-DirectoryGet-ChildItem
Get-ChildItem 'C:\foo' -Exclude 'subfoldername' -Directory |
Remove-Item -Recurse -Force