PowerShell GUI検索アプリに「履歴機能」を追加!


検索した条件や、移動・分類したファイルのログが残っていれば、
**「あの時どんな操作をしたっけ?」**という確認がすぐにできるようになります。
業務でも安心感が高まりますね!


今回追加する機能

機能内容
検索履歴の保存検索キーワードや条件をJSON形式で記録
操作ログの記録分類・移動などの操作をテキストログで記録
履歴の閲覧過去の履歴一覧をGUI上で確認できるように

検索条件の履歴保存

$searchHistory = [PSCustomObject]@{
    DateTime    = (Get-Date).ToString("yyyy-MM-dd HH:mm:ss")
    Keyword     = $TextBox_Keyword.Text
    Extension   = $TextBox_Ext.Text
    Folders     = $FolderList
    Subfolders  = $CheckBox_Subfolder.Checked
}

$historyFile = "SearchHistory.json"
$allHistory = @()

if (Test-Path $historyFile) {
    $allHistory = Get-Content $historyFile | ConvertFrom-Json
}

$allHistory += $searchHistory
$allHistory | ConvertTo-Json -Depth 3 | Set-Content $historyFile -Encoding UTF8

ファイル操作ログの記録

$logPath = "操作ログ.txt"
Add-Content -Path $logPath -Value ("==== " + (Get-Date) + " ====")
Add-Content -Path $logPath -Value "10個のファイルを C:\新しい場所\ に移動しました。"

GUI上で履歴を表示(ListBox使用例)

# JSON読み込み
$allHistory = Get-Content "SearchHistory.json" | ConvertFrom-Json

# ListBoxに履歴追加
$ListBox_History.Items.Clear()
foreach ($item in $allHistory) {
    $summary = "$($item.DateTime): キーワード [$($item.Keyword)] 拡張子 [$($item.Extension)]"
    $ListBox_History.Items.Add($summary)
}

UI構成案

  • 「検索履歴を見る」ボタン → 履歴表示用の別ウィンドウ or パネルを開く
  • 「操作ログを見る」ボタン → テキスト表示領域にログを読み込み表示
  • 「履歴の削除」ボタンも用意すると便利

履歴機能のメリット

  • 検索条件の再利用が簡単になる
  • ファイル操作の記録が残るため、トラブル時の確認に使える
  • 操作履歴をチームで共有すれば、引き継ぎもスムーズ!

まとめ

履歴機能を実装することで、PowerShell検索アプリは信頼性と再現性を兼ね備えた業務ツールになります。
「何をやったか」を記録しておくのは、システム運用でも大切なポイントです!


次回予告

次回は、**「検索結果を別タブで複数表示」**できるようにして、検索履歴の並列確認を可能にします!


コメント

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