PowerShell特定の拡張子以外のファイルを削除する。

powershell コンピュータ
powershell

ストレージの整理をしていて、複数の種類(拡張子)のファイルが混在している状態から、特定の拡張子のファイルのみ残し全て削除する必要があり、方法を調べてみました。

拡張子が.aviのファイル以外を検索し削除するコマンドの例

Get-ChildItem -File -Recurse -Exclude @("*.avi") | Remove-Item

Excludeで拡張子を指定しているのですが、配列で複数の拡張子を指定することも可能です。ちなみにExcludeの部分をIncludeに置き換えると指定の拡張子を検索するようになります。ChildItem部分でファイルの検索をしておりパイプで繋いだRemove-Itemでファイルの削除をしています。いきなり削除すると危険なのでRemove-Itemに-WhatIfをつけて実行し、事前どのようになるか確認することをお勧めします。

コメント