2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« 最小化や非表示で実行されるPowerShellスクリプトファイル(.JSE) | トップページ | 「検索」「ファイルやフォルダ」を開いて検索条件をセットする。 »

2007年8月12日 (日)

最小化や非表示で起動できるPowerShellスクリプトファイル(.PS1)

タスクスケジューラ、ATコマンド、スタートアップ、ショートカットなどから、
PowerShellスクリプトファイルを最小化や非表示で起動できます。

PS1ファイルの先頭と末尾に各1行を書き加えます。

#@~^AQAAAA==~IAAAAA==^#~@ new ActiveXObject('WScript.Shell').Run('powershell.exe -command & \''+WScript.ScriptFullName+'\'',7); /*
write-output "aaa"
[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show('aaaaaaaaaa')
#*/

これを、
wscript.exe //e:jscript.encode PS1ファイル
で、起動します。

上では、引数を渡してませんが、渡すこともできます。

#@~^AQAAAA==~IAAAAA==^#~@ var args=new Array();for(var e=new Enumerator(WScript.Arguments);!e.atEnd();e.moveNext()){
#@~^AQAAAA==~IAAAAA==^#~@ var arg=e.item();if(arg.indexOf(' ')+1)args.push('\''+arg+'\'');else args.push(arg);}
#@~^AQAAAA==~IAAAAA==^#~@ new ActiveXObject('WScript.Shell').Run('powershell.exe -command & \''+WScript.ScriptFullName+'\' '+args.join(' '),7); /*
write-output $args
[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[System.Windows.Forms.MessageBox]::Show([String]::Join("`n",$args))
#*/

wscript.exe //e:jscript.encode PS1ファイル 引数...

« 最小化や非表示で実行されるPowerShellスクリプトファイル(.JSE) | トップページ | 「検索」「ファイルやフォルダ」を開いて検索条件をセットする。 »