複数フォルダーから複数フォルダーへファイルを自動的に振り分ける。(Power Shell を利用)
「ファイルの振り分け」機能では振り分け”元”フォルダーは1つですが”振り分け元”フォルダーが複数ある場合でも Power Shell スクリプトを使って自動振り分けができます。
説明:
- あらかじめフォルダーは作成しておきます。
- 振り分け"元"フォルダー: c:\A, c:\B, c\C
- 振り分け"先"フォルダー: d:\F1, d:\F2, d:\F3, d:\F4
- ファイル名の文字列 "P1", "P2", "P3", "P4" で振り分けます。
- 元のファイルはバックアップに保存します。
左図のようにファイルを振り分ける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
}
参考: バッチファイルを使用する場合へ