バッチ スクリプトに引数を渡す方法

 
 
 

バッチ モードでは、ファイルまたはパスなどを要求するインタラクティブな入力を指定できません。インターフェイスでの作業中にプロパティエディタが自動的に開かないからです。 たとえば、次のコードをバッチ モードで実行した場合はエラーが発生します。 OpenScene コマンドは、引数が設定されていない場合、読み込むシーンを要求するダイアログ ボックスを開く必要があるからです。

sub MyBatchScript()
	OpenScene	' error
end sub

' Main
MyBatchScript

バッチ モードのスクリプトを準備するには、2 つの方法があります。 1 つは、次の例のように、スクリプトにすべての引数を明示的に指定しておく方法です。 たとえば以下のようになります。

OpenScene "C:\MyProject\MyScene.scn", false

この場合、false 引数が、現在のシーンに変更を保存するためのプロンプトは不要であることを示すフラグになります。 [すべて削除](DeleteAll)にも同様のフラグを設定できます。

もう 1 つは、プロシージャ宣言で必要なパラメータを引数として宣言し、スクリプトをバッチ モードで実行するときにコマンド ラインに渡す方法です。 たとえば、VBScript では、次のようにプロシージャの引数を宣言します。

Sub myproc(myargname1, myargname2)
	...
End Sub

次に、コマンド プロンプトで以下のスクリプトを実行します。

xsi -script myscriptfile.vbs -main myproc -args -myargname1 myargvalue1 -myargname2 myargvalue2