亀の甲羅2

今日もまた朝とく起きて励まなん窓に明るきありあけの月

poweshell 特定のパターンに合致しないファイルのみを削除する

もう、これは定型パターンでしょう。

$path = "C:\hogehoge"
$pattern = ".*_noExif.jpg"
Get-ChildItem -Path $path -Recurse | Where-Object { $_.Name -notmatch $pattern } | Where-Object { !$_.PSIsContainer } | %{Remove-Item -LiteralPath $_.FullName } 
  1. Where-Object { $_.Name -notmatch $pattern } でパターンにマッチしないもののみ絞り込みしています。(-notmatch を変更すれば応用は利くはず)
  2. Where-Object { !$_.PSIsContainer } でフォルダを除外しています。