◆ [VBScript] 引数を引き継いだ上で、指定したホストで実行する
おはヨーグルト。どーもボキです。

VBScriptの実行ホストは、デフォルトではWScript。
WScriptホストの場合、WScript.Echoすると、メッセージボックスが表示され処理が止まって不便だ。こんな感じに。
WScript.Shell の Popupを使えば、指定時間のみ表示するメッセージボックスを実現できるけどね。

なーんも知らんユーザにスクリプトホストをCScriptに変更させるのは難しいので、
スクリプト内で、引数を引き継いだ上で、ホストを指定して実行する方法を考えた。

ソース内の、「"""」は半角スペースを含んだパスをひとまとまりとして認識させるもの。
SetScriptHost("CScript")

WScript.StdOut.WriteLine "どーもボキです"
WScript.StdIn.ReadLine

' -------------------------------------------------------------------------------
' 実行ホストを切り替える
Sub SetScriptHost(HostName)
If InStr(LCase(WSCript.FullName),LCase(HostName)) <> 0 Then Exit Sub

s = HostName & " """ & WScript.ScriptFullName & """"
If WScript.Arguments.Count > 0 Then
For i = 0 To WScript.Arguments.Count -1
s = s &" """ & WScript.Arguments.Item(i) & """"
Next
End If
CreateObject("WScript.Shell").Run s
WScript.Quit
End Sub



[PR]
by yozda | 2012-06-16 10:59 | プログラミング | Trackback | Comments(0)
トラックバックURL : http://yozda.exblog.jp/tb/15574690
トラックバックする(会員専用) [ヘルプ]
<< [VBScript] Crav... [VBScript] 指定した... >>