PowerShell GUI検索アプリに「設定保存・自動読み込み」機能を追加しよう!


毎回同じ条件で検索していると、「前回の条件を覚えててくれたらいいのに…」と思うことありませんか?
今回は、検索条件を保存しておき、次回起動時に自動的に復元する機能を実装します!


機能概要

機能内容
設定保存検索条件(フォルダ・キーワード・日付・サイズなど)をJSON形式で保存
自動読み込みアプリ起動時に前回保存した設定ファイルがあれば自動で読み込む
設定ファイル名`config.json`(アプリと同じフォルダ)

保存する設定例

  • 検索フォルダパス
  • キーワード
  • 更新日の範囲(以降/以前)
  • サイズの範囲(以上/以下)
  • チェックボックスのON/OFF状態

保存処理のコード(例)

function Save-Settings {
    $config = @{
        FolderPath = $txtFolder.Text
        Keyword = $txtKeyword.Text
        DateFrom = $dtpFrom.Value
        DateTo = $dtpTo.Value
        SizeMin = $txtSizeMin.Text
        SizeMax = $txtSizeMax.Text
        UseDate = $chkUseDate.Checked
        UseSize = $chkUseSize.Checked
    }
    $config | ConvertTo-Json | Set-Content -Path ".\config.json" -Encoding UTF8
}

→ アプリ終了時などに呼び出すと、自動で設定が保存されます。


読み込み処理のコード(例)

function Load-Settings {
    if (Test-Path ".\config.json") {
        $config = Get-Content ".\config.json" | ConvertFrom-Json
        $txtFolder.Text = $config.FolderPath
        $txtKeyword.Text = $config.Keyword
        $dtpFrom.Value = [datetime]$config.DateFrom
        $dtpTo.Value = [datetime]$config.DateTo
        $txtSizeMin.Text = $config.SizeMin
        $txtSizeMax.Text = $config.SizeMax
        $chkUseDate.Checked = $config.UseDate
        $chkUseSize.Checked = $config.UseSize
    }
}

→ フォームを作成した直後に呼び出して、設定を復元します。


実行タイミングの例

  • アプリ起動時:Load-Settings
  • アプリ終了時:Save-Settings$form.Add_FormClosing({...}) に仕込むのもOK)

まとめ

PowerShellアプリに「前回の設定記憶」機能を加えるだけで、繰り返し作業のストレスを大幅に削減できます。
ほんの数行のコード追加で、実用性・快適さが一段上がる便利機能です!


次回予告

次回は、**検索条件に「拡張子の絞り込み」や「ファイル名の正規表現検索」**を追加して、さらに細かく検索できる高機能ツールに仕上げていきましょう!


コメント

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