複数フォルダーから複数フォルダーへファイルを自動的に振り分ける。(Power Shell を利用)

「ファイルの振り分け」機能では振り分け”元”フォルダーは1つですが”振り分け元”フォルダーが複数ある場合でも Power Shell スクリプトを使って自動振り分けができます。


説明:

  1. あらかじめフォルダーは作成しておきます。
  2. 振り分け"元"フォルダー: c:\A, c:\B, c\C
  3. 振り分け"先"フォルダー: d:\F1, d:\F2, d:\F3, d:\F4
  4. ファイル名の文字列 "P1", "P2", "P3", "P4" で振り分けます。
  5. 元のファイルはバックアップに保存します。

左図のようにファイルを振り分けるPower Shellスクリプトのサンプルです。(furiwake.ps1 として保存し実行してください。)

# PDFファイルの振り分け自動実行PowerShellスクリプト

# ファイル名の文字列 "P1", "P2", "P3", "P4" 
# によって振り分けます。

# 振り分け元フォルダー: c:\A, c:\B, c\C
# 振り分け先フォルダー: d:\F1, d:\F2, d:\F3, d:\F4
# ファイルをバックアップフォルダーに保存します。

# 60 秒ごとに繰り返します。

while($true) {
    Get-Date -Format "HH:mm:ss"

    Write-Host "ファイルの振り分けを開始..."

    Copy-Item -Path "c:\A\*P1*.pdf" -Destination "d:\F1" -Force
    Copy-Item -Path "c:\A\*P2*.pdf" -Destination "d:\F2" -Force
    Copy-Item -Path "c:\A\*P3*.pdf" -Destination "d:\F3" -Force
    Copy-Item -Path "c:\A\*P4*.pdf" -Destination "d:\F4" -Force

    Copy-Item -Path "c:\B\*P1*.pdf" -Destination "d:\F1" -Force
    Copy-Item -Path "c:\B\*P2*.pdf" -Destination "d:\F2" -Force
    Copy-Item -Path "c:\B\*P3*.pdf" -Destination "d:\F3" -Force
    Copy-Item -Path "c:\B\*P4*.pdf" -Destination "d:\F4" -Force

    Copy-Item -Path "c:\C\*P1*.pdf" -Destination "d:\F1" -Force
    Copy-Item -Path "c:\C\*P2*.pdf" -Destination "d:\F2" -Force
    Copy-Item -Path "c:\C\*P3*.pdf" -Destination "d:\F3" -Force
    Copy-Item -Path "c:\C\*P4*.pdf" -Destination "d:\F4" -Force

    # 振り分け済みファイルの移動とバックアップ
    Move-Item -Path "C:\A\*.pdf" -Destination "c:\A\backup" -Force
    Move-Item -Path "C:\B\*.pdf" -Destination "c:\B\backup" -Force
    Move-Item -Path "C:\C\*.pdf" -Destination "c:\C\backup" -Force

    Write-Host "ファイルの振り分けを終了!"

    Start-Sleep -Seconds 60
}

参考: バッチファイルを使用する場合へ