概要
PowerShellスプリクト(ps1ファイル)の実行には、実行ポリシーの設定が必要です。
実行ポリシー設定がデフォルトのままだと、実行しようとしてもエラーが発生してしまいます。
回避する方法がいくつかありますが、今回はbatファイルを介して起動する方法をまとめました。
ps1ファイルをbatから起動
下記コードのbatファイルを起動すると、ps1ファイルが実行できます。
BAT (Batchfile)
@echo off
rem ps1ファイルを起動
powershell -NoProfile -ExecutionPolicy Unrestricted .\test.ps1
BAT (Batchfile)“.\test.ps1″の部分をps1ファイルのパスに変更して下さい。
(上記の場合は、batファイルとps1ファイルが同じディレクトリにある場合の指定)
ドラックしたファイルのパスを引数として渡す
ドラックしたファイルのパスを引数として渡す場合は最後に”%1″を記載します
BAT (Batchfile)
powershell -NoProfile -ExecutionPolicy Unrestricted .\test.ps1 %1
BAT (Batchfile)ps1ファイルでは”$args[0]”で、ドラッグしたファイルの絶対パスを参照できます。
PowerShell
echo $args[0]
PowerShell