PowerShellのScriptファイル(*.ps1)をダブルクリックで実行できるようにする*.batの作成手順

PowerShell
記事内に広告が含まれています。

PowerShellのスクリプトファイル(*ps1)を実行するには右クリックメニューから「PowerShellで実行」を選択して、クリックすることになります。

しかしそれだとPowerShellのScriptファイルに慣れていない人々に配布するときには、実行方法について追加の説明をする必要があり不便です。

なので備忘録として、ダブルクリック用のバッチの作り方を残すことにしました。

解決したいこと

問題点

PowerShellのScriptファイル(*.ps1)を実行するには右クリックメニューから「PowerShellで実行」メニューを選択して実行することになります。

これだとチームに配布する際に、使い方を説明するのが少々面倒です。

(チーム全員スキルが高ければ各々で勝手に調べるんでしょうけど、サラリーマン社会は技術者だけでなく、部課長だったりお客様など技術者層以外も使ったりするので、そうはいかないことが多いです。)

変更内容

これを「exec.bat」のようなバッチファイルをダブルクリックするだけで、「ScriptFile.ps1」のようなPowerShellのScriptファイルを実行してくれるようにします。

ソースコード

バッチファイルとPowerShellのScriptファイルのサンプルとして、以下を例に考えます。

バッチファイル

powershell -ExecutionPolicy RemoteSigned -File ScriptFile.ps1

バッチファイルにはpowershellコマンドにより、ScriptFile.ps1を実行するコマンドが記述されています。

PowerShellファイル

Write-Output "Hello,World!"
pause

PowerShellのScriptファイルはHelloWorldを標準出力して、ウィンドウが閉じないようにポーズする記述内容としています。

本来はいろいろなコードが記述されるファイルですが、今回はサンプルなので最小限度のコードに留めています。

テスト実行

上記のソースコードの2ファイルを同じフォルダに格納します。

ファイルを格納するフォルダの場所はどこでも良いです。

すると、コマンドプロンプト画面が開き、「ScriptFile.ps1」の中のWrite-Outputコマンドにより無事、”Hello,World”が出力されることが確認できました。

参考情報

下記の環境で作成・実行しております。

No.環境バージョン
1OSWindows10
2PowerShell5.1
環境一覧

以上です。