ストレージの整理をしていて、複数の種類(拡張子)のファイルが混在している状態から、特定の拡張子のファイルのみ残し全て削除する必要があり、方法を調べてみました。
拡張子が.aviのファイル以外を検索し削除するコマンドの例
Get-ChildItem -File -Recurse -Exclude @("*.avi") | Remove-Item
Excludeで拡張子を指定しているのですが、配列で複数の拡張子を指定することも可能です。ちなみにExcludeの部分をIncludeに置き換えると指定の拡張子を検索するようになります。ChildItem部分でファイルの検索をしておりパイプで繋いだRemove-Itemでファイルの削除をしています。いきなり削除すると危険なのでRemove-Itemに-WhatIfをつけて実行し、事前どのようになるか確認することをお勧めします。
コメント