PowerShellって許可設定にしないとPS1実行できないしだるいと思っていたが別にバッチから実行できる。
PowerShellが入っていればコマンドで呼び出して実行すればよい。
セキュリティ意味あるのかな
TEST.ps1ファイル (別にてすと.txtでもよい)
function Hello { Write-Host "Hello PowerShell World!!" } Hello
バッチ側(x64とx86があり、通常x64)x86 OSの場合規定でx86だろうがまあもう少ないか。
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex -Command ((gc 'TEST.ps1') -join \"`n\")" ::x86のPowerShell C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "iex -Command ((gc 'TEST.ps1') -join \"`n\")" pause
iex=Invoke-Expression
https://technet.microsoft.com/ja-jp/library/Ee176880.aspx
gc=Get-Content
https://technet.microsoft.com/ja-jp/library/Ee176843.aspx
固有コマンドレットは知ってりゃ便利だが.NETで知ってることは.NETで出来るので覚えようと頑張らんでもいい気はする。