バッチからPowershellスクリプト(.ps1)を実行させる方法
とりあえずbatとps1のファイル名そろえておけば脳死で実行できるので重宝してます
フォルダ構成
フォルダ構成はこんな感じ。
※.batと.ps1ファイル名は揃えること
※.batは文字コードANSIで保存すること
batの中身
batの中身はこんな感じ。ファイル名変えれば中身弄らないで使いまわせます
aaa.bat
@echo off
powershell -executionpolicy RemoteSigned -File "%~dp0%~n0.ps1"
コマンド | 意味 |
---|---|
powershell | Powershellを起動します |
-executionpolicy RemoteSigned | 実行ポリシーにRemoteSigned(適度に緩めのポリシー)を指定します。実行ポリシーについてはこちら |
-File | ファイルを指定します。 |
%~dp0%~n0.ps1 |
%~dp0 ⇒ バッチがあるフォルダパスの変数 %~n0 ⇒ バッチファイル名の変数 .ps1 ⇒ ".ps1"という文字列 ↑を総括すると、バッチと同じフォルダ\バッチと同じファイル名.ps1 |