PowerShellは「黒い画面でコマンドを打つだけ」だと思っていませんか?
実は、Windows標準の技術だけでGUI付きの本格アプリが作れるんです!
本記事では、PowerShellだけで作れる「ファイル検索アプリ」の完成までの流れを一気にご紹介します。
初心者でもマネできるよう、GUI作成から応用機能までステップ形式でまとめました!
1. GUIアプリの基本構成を作る
最初に作るのは、ウィンドウ・ボタン・検索ボックスなどの画面構成です。
Add-Type -AssemblyName System.Windows.Forms
$form = New-Object Windows.Forms.Form
$form.Text = "ファイル検索アプリ"
$form.Size = New-Object Drawing.Size(600, 400)
# 他にテキストボックス、ボタン、リストなども追加
GUIを使えば「誰でも使えるPowerShellアプリ」に進化します!
2. フォルダ内のファイルを検索する
ユーザーが指定したキーワードで、対象フォルダ内のファイル名を検索できるようにします。
$files = Get-ChildItem -Recurse -File
$matched = $files | Where-Object { $_.Name -like "*キーワード*" }
フォームに入力された文字でフィルタリングして、結果をListBoxに表示します。
3. 検索条件のカスタマイズ対応
設定項目 | 説明 |
---|---|
対象フォルダ | フォルダ選択ダイアログで選ぶ |
サブフォルダ含む | チェックボックスで制御 |
拡張子フィルタ | .txtや.xlsxなどに限定 |
条件を変えるたびに再検索できるようにすれば、柔軟に探せるようになります。
4. 検索結果のエクスポート機能
結果をCSVやHTMLとして保存すれば、他人に共有したり記録に残すことも可能です!
$SearchResults | Out-File -FilePath "result.csv" -Encoding UTF8
HTML形式なら、ブラウザで開いて綺麗に表示することもできます。
5. 文書ファイルの中身まで検索
ファイル名だけでなく、PDFやWord文書の本文も検索対象にできます。
- PDF → PDFsharp などのライブラリでテキスト抽出
- Word → COMオブジェクトを使って本文取得
$doc = $word.Documents.Open($path, $false, $true)
$text = $doc.Content.Text
これにより「請求書の中の顧客名」なども見つけられます!
6. プレビュー機能の追加
ファイルを開かなくても中身をその場でチラ見できる便利な機能です。
$TextBox.Text = Get-Content $selectedFile -Raw
検索→選択→確認→開く、という一連の流れがスムーズに!
7. 今後の発展例
アイデア | 内容 |
---|---|
検索条件プリセット | 毎回の条件を保存・再利用 |
検索履歴 | 過去のキーワードを記録 |
UIテーマ変更 | ダークモードなど切り替え |
まとめ:PowerShellはGUIも業務効率化もできる!
PowerShellを使えば、ちょっとした業務改善アプリを自分で作れるようになります。
しかもインストール不要、Windows標準機能だけで動作!
これをベースに、社内ツール・個人作業効率化・自動化アプリなど、どんどん発展できます。
「自分だけの業務効率ツール」をぜひ作ってみてください!
コメント