PowerShell GUI検索アプリに「自動分類・移動機能」を追加!


検索結果のファイルを見て「このファイルはAフォルダ、こっちはBフォルダ…」と手動で整理するのは面倒ですよね。
そこで今回は、検索結果に対して条件に応じたフォルダ振り分け機能を実装します!


今回追加する機能

機能内容
拡張子ごとの分類例:.txt → Texts フォルダ、.jpg → Images フォルダへ自動移動
キーワードごとの分類例:「invoice」が含まれるファイル名 → 請求書フォルダに移動
移動またはコピーの選択移動(元ファイルを削除) or コピー(元ファイルを残す)

自動分類の基本ロジック(拡張子別)

$destinationRoot = "C:\分類先"

foreach ($file in $SearchResults) {
    $ext = [IO.Path]::GetExtension($file).TrimStart(".").ToLower()
    $destFolder = Join-Path $destinationRoot $ext

    if (!(Test-Path $destFolder)) {
        New-Item -Path $destFolder -ItemType Directory | Out-Null
    }

    $destFile = Join-Path $destFolder ([IO.Path]::GetFileName($file))
    Move-Item -Path $file -Destination $destFile
}

ファイル名にキーワードで分類

$invoiceFolder = "C:\分類先\請求書"
$logFolder     = "C:\分類先\ログ"

foreach ($file in $SearchResults) {
    $name = [IO.Path]::GetFileName($file)

    if ($name -like "*invoice*") {
        Move-Item $file -Destination (Join-Path $invoiceFolder $name)
    } elseif ($name -like "*log*") {
        Move-Item $file -Destination (Join-Path $logFolder $name)
    }
}

UI構成案

  • 分類条件を選ぶ(拡張子 / ファイル名キーワード)
  • 移動先ルートフォルダを選択
  • 「移動 or コピー」選択チェックボックス
  • 「分類実行」ボタンで処理開始

メリット

  • ファイルの整理が自動で完了するので、後工程がラクに
  • 大量のファイルを一括分類する業務に最適
  • 特定キーワードで分類すれば、帳票系の仕分けにも応用可能!

まとめ

この機能を使えば、検索したファイルをそのままルール通りに自動整理できるようになります。
手作業での分類が不要になるので、ファイル管理の効率が爆上がりします!


次回予告

次回は、**「履歴機能の追加」**で、過去に検索・操作した内容をあとから見返せるようにします!


コメント

タイトルとURLをコピーしました