• ベストアンサー

PowerShellで特定ファイルを移動

PowerShellを使って、特定のファイル(ファイル名に年度の入ったもの)を別のファイルに 移動させたいのですが、どうすればいいのでしょうか? フォルダ1 AAA.TXT BBB_20120309.TXT  ←このファイルだけをフォルダ2へ移動させたい CCC.TXT フォルダ2 DDD_20111231.TXT EEE_20101105.TXT よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • maesen
  • ベストアンサー率81% (646/790)
回答No.1

書かれている例のパターンだけならばこんなんで出来ると思います。 Move-Item -Path \フォルダ1\*_????????.txt -Destination \フォルダ2 特定のファイル名がワイルドカードでだけでは表現できなければ正規表現を使用する方法になると思います。 Get-Item \フォルダ | ForEach-Object { [Regex]::Matches($_.name, ".*_[0-9]{8,8}\.txt") } | Move-Item -Destination \フォルダ2 こんな感じでしょうか。 正規表現のパターンを必要に応じて変更する必要があります。 (一応ここに書いた正規表現パターンは質問に書かれている例ならマッチするはずです) もう少しスマートな方法もあるかもしれませんね。

PUNCHI_PUNTA
質問者

お礼

大変参考になりました。ありがとうございます。

関連するQ&A