パワーシェルでフォルダ内のファイルをGUIで操作するミニアプリを作ろう


前回の記事では、PowerShellで簡単なGUIフォームを作る方法を紹介しました。今回はその応用編として、指定したフォルダ内のファイルを一覧表示し、選んで開けるGUIツールを作成します。

「フォルダ内のファイルを一括確認したい」「初心者でも簡単に使える操作画面を作りたい」——そんなときに便利なアプリです。


できること

  • 指定フォルダ内のファイルを一覧表示
  • ファイルをダブルクリックして開く
  • ボタンでフォルダを変更できる

スクリプト全体(基本バージョン)

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

# フォーム作成
$form = New-Object System.Windows.Forms.Form
$form.Text = "ファイル一覧ツール"
$form.Size = New-Object System.Drawing.Size(500, 400)

# フォルダパス入力用テキストボックス
$textBox = New-Object System.Windows.Forms.TextBox
$textBox.Text = "C:\Users\Public\Documents"
$textBox.Location = New-Object System.Drawing.Point(10,10)
$textBox.Size = New-Object System.Drawing.Size(350, 20)

# フォルダ選択ボタン
$btnBrowse = New-Object System.Windows.Forms.Button
$btnBrowse.Text = "変更"
$btnBrowse.Location = New-Object System.Drawing.Point(370, 8)
$btnBrowse.Size = New-Object System.Drawing.Size(100, 25)

# ファイルリスト表示用リストボックス
$listBox = New-Object System.Windows.Forms.ListBox
$listBox.Location = New-Object System.Drawing.Point(10, 40)
$listBox.Size = New-Object System.Drawing.Size(460, 300)

# ファイル読み込み処理
function Load-Files {
    $listBox.Items.Clear()
    $folder = $textBox.Text
    if (Test-Path $folder) {
        $files = Get-ChildItem $folder -File
        foreach ($f in $files) {
            $listBox.Items.Add($f.FullName)
        }
    }
}

# フォルダ変更処理
$btnBrowse.Add_Click({
    $dialog = New-Object System.Windows.Forms.FolderBrowserDialog
    if ($dialog.ShowDialog() -eq "OK") {
        $textBox.Text = $dialog.SelectedPath
        Load-Files
    }
})

# ファイルをダブルクリックで開く
$listBox.Add_DoubleClick({
    $selected = $listBox.SelectedItem
    if ($selected) {
        Invoke-Item $selected
    }
})

# 初期読み込み
Load-Files

# コントロール追加
$form.Controls.Add($textBox)
$form.Controls.Add($btnBrowse)
$form.Controls.Add($listBox)

# フォーム表示
$form.ShowDialog()

実行結果

  • 起動すると、指定フォルダ内のファイル一覧が表示されます
  • 任意のファイルをダブルクリックすると、既定のアプリで開くことができます
  • 「変更」ボタンで別のフォルダも選択可能です

活用例

  • 作業フォルダのファイルを簡易ビューアで管理
  • 定型の報告書・テンプレートの一括確認
  • 非エンジニア向けにファイル選択ツールを配布

まとめ

PowerShellを使えば、GUIを備えた簡易ファイルマネージャのようなツールも簡単に作れます。エクスプローラーを使わずに、目的のフォルダにあるファイルをすぐに開けるので、業務効率もアップします。

次回は、複数条件でファイルを検索できるPowerShell GUI検索ツールを紹介予定です!


コメント

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