• ベストアンサー

wsh で関数を指定して実行したい

wsh について質問です。 cscript などを実行する際に 実行する関数を引数によって制御したいのですが、 そうするにはスクリプト内に引数で分岐して関数を呼び分けるコードを 記述するようなやりかたしかないのでしょうか? cscript(wscript) 自体には関数名を指定して それを実行する仕組みはないのでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

VBScript/JScriptのEvalを使ってみてはどうでしょう ---- Sample.vbs Function Func1()   WScript.Echo "Func1" End Function Function Func2()   WScript.Echo "Func2" End Function Sub Main()   dim objargs   Set objArgs = WScript.Arguments   if objArgs.Count then     ' デバッグ中は on Erorをコメントアウトする     on error resume next     Eval objargs(0)   end if End Sub Call Main といったスクリプトを用意して cscript sample.vbs Func1 といった具合に実行します ただしEvalはVBScriptの Subプロシージャでは機能しません

kkkkkkk1
質問者

お礼

なるほど。 Eval を使用する方法は初めて知りました。 しかし、やっぱり引数を自力で処理しないといけないのですね。 ありがとうございました。

関連するQ&A

専門家に質問してみよう