PowerShellを使うと、
「特定の拡張子のファイルだけを抽出して別フォルダに移動する」
といった作業を簡単に自動化できます。
-
ログファイル(
.log)だけをまとめたい -
CSVやExcelファイルだけを別フォルダに整理したい
-
毎日増える特定ファイルを定期的に移動したい
本記事では、初心者でもそのまま使えるPowerShellコマンド例を中心に、
実務でよく使う応用パターンまで解説します。
基本構文:特定拡張子のファイルを移動する
まずは最も基本的な例です。
|
1 2 |
Get-ChildItem "C:\Source" -Filter "*.txt" | Move-Item -Destination "C:\Dest"<code class="whitespace-pre! language-powershell"> |
処理内容
-
C:\Sourceフォルダ内の -
.txtファイルのみを取得し -
C:\Destフォルダへ移動します
コマンドの意味を分解して理解する
Get-ChildItem(ファイル一覧を取得)
|
1 |
Get-ChildItem "C:\Source" -Filter "*.txt" |
-
指定フォルダ内のファイルを取得
-
-Filter "*.txt"により 拡張子を限定
Move-Item(ファイルを移動)
|
1 |
Move-Item -Destination "C:\Dest" |
-
パイプ(
|)で受け取ったファイルを指定先へ移動
サブフォルダも含めて抽出・移動したい場合
フォルダ配下すべてを対象にする場合は -Recurse を使います。
|
1 2 |
Get-ChildItem "C:\Source" -Filter "*.log" -Recurse | Move-Item -Destination "C:\Dest" |
✅ ログ収集
✅ バックアップ前のファイル整理
などでよく使われます。
複数の拡張子を対象にする方法
方法①:Where-Objectを使う(おすすめ)
-
.csvと.xlsxを同時に処理 -
拡張子追加も簡単
方法②:-Include を使う(※注意点あり)
⚠ -Include は -Recurse かワイルドカード指定が必要
初心者には①の方が安全です。
ファイルをコピーしたい場合(移動ではなく)
移動ではなくコピーしたい場合は Copy-Item を使います。
-
元ファイルは残る
-
バックアップ用途に最適
同名ファイルがある場合の上書き制御
上書きを許可する場合
上書きを避けたい場合(事前チェック)
日付条件で抽出する(実務で超便利)
今日更新されたファイルだけ移動
〇日より古いファイルを移動
よくあるエラーと対処法
「アクセスが拒否されました」
-
PowerShellを管理者として実行
-
移動先フォルダの権限確認
「パスが見つかりません」
移動先フォルダが存在しない場合は事前作成が必要です。
バッチ化・定期実行も可能
-
.ps1ファイルとして保存 -
タスクスケジューラと組み合わせ
-
毎日・毎週の自動整理が可能
まとめ
PowerShellを使えば、
-
✅ 特定拡張子だけ抽出
-
✅ フォルダ整理・ログ管理を自動化
-
✅ 日付条件・複数拡張子にも対応
といった作業がワンライナーで実現できます。
**「手作業でファイル整理している」**なら、
ぜひPowerShellで自動化してみてください。

