- ベストアンサー
wsh で関数を指定して実行したい
wsh について質問です。 cscript などを実行する際に 実行する関数を引数によって制御したいのですが、 そうするにはスクリプト内に引数で分岐して関数を呼び分けるコードを 記述するようなやりかたしかないのでしょうか? cscript(wscript) 自体には関数名を指定して それを実行する仕組みはないのでしょうか。 よろしくお願いします。
- みんなの回答 (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プロシージャでは機能しません
お礼
なるほど。 Eval を使用する方法は初めて知りました。 しかし、やっぱり引数を自力で処理しないといけないのですね。 ありがとうございました。