バッチファイルからPowerShellを実行する方法


バッチファイルからPowerShellを実行する方法

Windows のコマンド手順をバッチファイルによる自動化する際に、
バッチファイル(コマンドプロンプト)でできることは限られるため、
部分的に他の技術に頼らざるを得ない場合があります。

ここでは、バッチファイルに記載のコマンドから変数等を渡して
PowerShell で実行する方法を紹介します。

hoge.bat
rem ::: PowerShell一時スクリプトファイルパス定義 :::
set PS_FILEPATH=%TEMP%\hoge.ps1

rem :::: PowerShell一時スクリプトファイル作成 ::::
echo. >%PS_FILEPATH%

rem :::: PowerShellコマンド ::::
echo (PowerShellコマンド1) >>%PS_FILEPATH%
echo (PowerShellコマンド2) >>%PS_FILEPATH%
echo (PowerShellコマンド3) >>%PS_FILEPATH%

rem :::: PowerShell一時スクリプトファイル実行 ::::
powershell -NoProfile -ExecutionPolicy Unrestricted %PS_FILEPATH%

rem :::: PowerShell一時スクリプトファイル削除 ::::
del /q %PS_FILEPATH%

上記では具体的なPowerShellコマンドは記載しませんでしたが、
(PowerShellコマンド?)部分にも変数(% ~ %)を使用することが
可能です。

参考文献 コマンドプロンプトから PowerShell を実行する