亀の甲羅2

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

powershellサンプル ファイルだけ一カ所に集めるスクリプト

ファイル整理の際に

  • 複数のフォルダに分かれている(数が多い)
  • フォルダが深すぎる、多分岐すぎる

みたいなことがあると、非常に面倒。
「とりあえず全部1つのフォルダにまとめちゃえ!」方式のスクリプト例。

# 適宜変更のこと。外部からCALLするようなことは考えていないので直コーディング
$fromPath = "C:\xxx\fromfolder"
$toPath = "C:\xxx\tofolder"

$a = Get-ChildItem -LiteralPath $fromPath -Recurse -File

$a | %{
    # ユニークファイル名とするため、日時(ミリ秒)を取得
    $prefix = Get-Date -Format yyyyMMddHHmmssfff
    # ファイル名先頭に上記日時文字列を付与する
    $newfile = (JOIN-PATH $toPath ($prefix + "_" + $_.Name))
    try{
        Move-Item -LiteralPath $_.FullName $newfile
    }catch{
        Write-Output ('Error message : ' + $_.Exception.Message)
    }
}