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. | 環境 | バージョン |
---|---|---|
1 | OS | Windows10 |
2 | PowerShell | 5.1 |
以上です。