バッチファイルから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コマンド?)部分にも変数(% ~ %)を使用することが
可能です。