最小化や非表示で実行されるPowerShellスクリプトファイル(.JS)
PowerShellスクリプトの実行では、コンソールウィンドウが開きます。
そこで、PowerShellスクリプトをJSファイルに組み込んで、
コンソールウィンドウを最小化や非表示にして起動実行します。
PowerShellスクリプトの先頭に4行、末尾に1行を追加して拡張子を.JSにします。
var args=new Array();for(var e=new Enumerator(WScript.Arguments);!e.atEnd();e.moveNext()){args.push('"'+e.item()+'"');}
var wShell=new ActiveXObject('WScript.Shell');var Env=wShell.Environment('PROCESS');Env.Item('args')=args.join('\t');Env.Item('arg0')=WScript.ScriptFullName;
wShell.Run('powershell.exe -command "& {$s=get-content $env:arg0;$s=$s[([Array]::LastIndexOf($s,\'/*\')+1)..($s.length-1)]+\'\';$s=\'function main {\'+[String]::Join([char]13+[char]10,$s)+\'}main \'+$env:args;invoke-expression $s;}"',7);
/*
$args.gettype()
$args.length
$args
#*/
これをダブルクリックなどで起動します。ドロップなどで引数も渡せます。
ExecutionPolicyがRestrictedのままでも、実行できます。
上では、最小化(7)にしています。非表示ならRun(,0)に変えてください。
« PowerShellの.PS1ファイルを起動するバッチファイル(その5) | トップページ | PowerShellスクリプトをWSFファイルにして、ウィンドウ アプリっぽく実行する。 »