「PowerShellでスクリプトを実行するのにいちいち実行ポリシーを変更するのがめんどくさいんだけど…。なんとかすぐにスクリプトを実行できる方法ってないかなあ。」という方向け。
結論、バッチファイルを使えば1秒でPowerShellのスクリプト実行が可能。
バッチファイルの作り方を教えます。
スポンサーリンク
本記事は下記の4本立てです。
本記事の内容
- PowerShellのスクリプト実行の現状
- 【PowerShell】スクリプトを1秒で実行する方法
- バッチファイルとは?
- PowerShellスクリプト実行のバッチファイルの作り方
PowerShellのスクリプト実行の現状
まずは現状確認です。
通常PowerShell or PoweShell ISE を起動させて、PowerShellのスクリプトファイルを実行しようとすると、下記エラーが出てしまいます。
PowerShellではスクリプトファイルがWidowsのシステムに影響する場合があるので、デフォルトではスクリプトの実行が不可になっているんですね。
そのため、PowerShellからスクリプトファイルを実行するためには、PowerShellの実行ポリシーを変更する必要があるのですが、これがいちいちめんどくさい…。
なんとかならないか…ということです。
【PowerShell】スクリプトを1秒で実行する方法
PowerShellの実行ポリシーを変更しないで、スクリプトを実行できる方法があります。
それは、バッチファイルを使うこと。
例えば、PowerShellのスクリプトを実行する『sample.bat』というバッチファイルを作成したとしましょう。
そして、バッチファイルをダブルクリックすると…
なんと!これだけでPowerShellのスクリプトが実行可能に!Σ(゚Д゚)
めちゃ便利!!
バッチファイルとは?
バッチファイルとは、コマンドプロンプトに実行させたい命令をテキストファイルに記述したファイルのこと。
コマンドプロンプトというのは、先ほどPowerShellのスクリプトが実行したときに起動した背景が真っ黒の画面です。
バッチファイルの拡張子は『.bat』です。
スポンサーリンク
PowerShellスクリプト実行のバッチファイルの作り方
バッチファイルの作り方は簡単!
まず、テキストエディタ(メモ帳など)を開いて、下記2行のコードを記述するだけ。
powershell -NoProfile -ExecutionPolicy Unrestricted ".\sample.ps1"
pause
バッチファイルのコマンド解説
実際にスクリプトの実行命令を行っているのが1行目。
コマンドプロンプトで『powershell』と入力することで、コマンドプロンプトからPowerShellのウィンドウに切り替えることができます。
『sample.ps1』のところに実行するPowerShellスクリプトのファイル名を記述します。
これは、バッチファイルとスクリプトファイルが同じ場所にある場合の記述の仕方です。
もし、バッチファイルとPowerShellのスクリプトファイルが別の場所にある場合には、スクリプトファイルのある場所のフルパスを記述する必要があります。
例えば、PowerShellのスクリプトファイルが『C:\pwsl』にあったとすると、1行目の記述は下記のようになります。
powershell -NoProfile -ExecutionPolicy Unrestricted “C:\pwsl\sample.ps1”
2行目はPowerShellの画面を開いた状態にするためのコマンドです。
スクリプトが実行するとPowerShellの画面が閉じてしまいます。
それではスクリプトの実行結果がわかりませんので、PowerShellを開きっぱなしにするコマンドを記述しているのです。
まとめ
それでは今回の記事のまとめです。
【PowerShell】スクリプトを1秒で実行する方法とは、バッチファイルを作って、バッチファイルから実行すること。
バッチファイルをダブルクリックするだけで、いちいち実行ポリシー変更をすることなく、すぐPowerShellのスクリプトが実行できてしまいます。
ただPowerShell ISEのようにデバッグができるわけではないので、スクリプトの実行結果だけすぐ確認できればOKという場合に便利な方法です。
今回の記事が少しでもお役に立てれば幸いです^^
ではでは~ノシ
スポンサーリンク