PowerShell でディレクトリとそのすべてのサブディレクトリを強制的に削除する最も簡単な方法は何ですか? Windows 7 で PowerShell V2 を使用しています。
いくつかの情報源から、最も明白なコマンド がRemove-Item $targetDir -Recurse -Force
正しく動作しないことを知りました。これには、PowerShell V2 オンライン ヘルプ ( を使用して参照Get-Help Remove-Item -Examples
) の次の記述が含まれます。
...このコマンドレットの Recurse パラメーターに欠陥があるため、コマンドは Get-Childitem コマンドレットを使用して目的のファイルを取得し、パイプライン演算子を使用してそれらを Remove-Item コマンドレットに渡します...
Get-ChildItemを使用してRemove-Itemにパイプするさまざまな例を見てきましたが、これらの例では通常、ディレクトリ全体ではなく、フィルターに基づいていくつかのファイル セットが削除されます。
最小限のコードを使用して、ユーザー警告メッセージを生成せずに、ディレクトリ全体、ファイル、および子ディレクトリを消去する最もクリーンな方法を探しています。理解しやすい 1 行のコードが望ましいです。
ベストアンサー1
Remove-Item -Recurse -Force some_dir
確かにここで宣伝されているとおりに機能します。
rm -r -fo some_dir
も機能する短縮エイリアスです。
私が理解した限りでは、-Recurse
フィルターされた一連のファイルを再帰的に削除しようとすると、パラメータは正しく機能しません。単一のディレクトリとその下にあるすべてのものを削除する場合は、正常に機能するようです。