経緯
ChatGPT等の生成AIにより、PowerShellスクリプトやシェルスクリプトを作成する機会が増えました。一方でスクリプトの実行には、ターミナルアプリやPowerShellコマンドで実行する必要があります。
都度実行するのは手間ですが、WindowsではPowerShellスクリプトを実行するショートカットを作成できます。しかし、作成するためにはいくつか操作が必要です。
そこで、PowerShell実行用のスクリプトを簡単に作成するためのGUIツールを作成したので本記事で紹介します。
スクリプトと内部処理について
スクリプトの概要
スクリプト名は create-ps1-shortcut.ps1 で、GUIインターフェースを通じて以下の機能を提供します。
- ファイル選択:
Show-FileDialog関数を使用して.ps1ファイルを選択。 - ショートカット作成:
New-ScriptShortcut関数で、選択したスクリプトと同じディレクトリにショートカット(.lnk)を生成。 - カスタムダイアログ:
Show-CustomDialog関数で、作成完了後ガイドを表示し、保存先を開くオプションを提供。
内部処理の詳細
- PowerShell環境の検出:
Get-PowerShellPath関数で、PowerShell Core(pwsh)が利用可能か確認し、なければpowershell.exeにフォールバック。 - WScript.Shellの利用: COMオブジェクトを使用してショートカットを作成し、ターゲットパスや引数を設定。
- WPFベースのGUI: XAMLを使用してカスタムダイアログを生成し、ボタンイベントで保存先を開く機能を実装。
- デバッグ対応:
-Debugパラメータで詳細ログを表示可能。
使用方法
create-ps1-shortcut.ps1 > 右クリック > PoweShellで実行 > ショートカットを作成したいPowerShellスクリプトを選択
なお、本スクリプト自体もショートカット化できるため、作成したショートカットを例えばタスクバーにピン留めすることで簡単に実行することもできます。

まとめ
WindowsでPowerShellスクリプトを実行するショートカットを作成するPowerShellスクリプトについて紹介しました。
生成AIを活用することで、アプリやスクリプトが作成しやすくなりましたが、それを効率的に実行していく方法も必要だと思います。本スクリプトがそのようなケースの一助となれば幸いです。
以上です。