PowerShell GUI検索アプリに「エクスポート機能」を追加!


検索した結果を他の人に渡したい、報告書に貼りたい、後で見直したい…。
そんなときに便利なのがCSVやHTMLへのエクスポート機能です!


今回追加する機能

機能内容
CSV形式で出力ファイルパスなどをCSVとして保存
HTML形式で出力Webブラウザで閲覧可能な一覧ページを生成
保存先を選択ファイル保存ダイアログで出力場所を指定

検索結果のCSV出力コード

$saveFileDialog = New-Object System.Windows.Forms.SaveFileDialog
$saveFileDialog.Filter = "CSVファイル (*.csv)|*.csv"
$saveFileDialog.Title = "検索結果をCSVで保存"

if ($saveFileDialog.ShowDialog() -eq "OK") {
    $SearchResults | ForEach-Object {
        '"{0}"' -f $_
    } | Out-File -FilePath $saveFileDialog.FileName -Encoding UTF8
}

検索結果のHTML出力コード

$htmlPath = "検索結果.html"
$html = @"
<html>
<head><meta charset='UTF-8'><title>検索結果</title></head>
<body>
<h2>検索結果一覧</h2>
<ul>
"@

foreach ($file in $SearchResults) {
    $html += "<li>" + [System.Web.HttpUtility]::HtmlEncode($file) + "</li>`n"
}

$html += "</ul></body></html>"

$html | Set-Content -Path $htmlPath -Encoding UTF8

UI構成案

  • 「CSVで保存」ボタン:検索結果をCSVで保存
  • 「HTMLで保存」ボタン:一覧ページとして保存
  • 出力後に「保存しました」のメッセージ表示

エクスポート機能のメリット

  • 検索結果をそのままメールや資料に貼れる
  • チームメンバーとファイル共有が簡単に
  • ログとして残しておくこともできる

まとめ

エクスポート機能があることで、PowerShell検索アプリは社内・チーム利用にも強いツールになります!
「探して終わり」ではなく、探した情報を活用する流れをつくれます。


次回予告

次回は、検索対象に「PDFやWord文書の中身」を含める機能を追加して、全文検索アプリとして進化させていきます!


コメント

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