WScript オブジェクトでできることを説明します。
WScript オブジェクトを使うと、以下のようなことができます。
WSHの名前の取得
WScript.Name プロパティで WSH の名前を取得できます。
用途不明。
WScript.Echo WScript.Name ' → Windows Script Host
WSHの実行ファイルのフォルダパスの取得
WScript.Path プロパティで WSH の実行ファイルがあるフォルダのパスを取得できます。
WScript.Echo WScript.Path ' → C:\WINDOWS\system32
WSHの実行ファイルパスの取得
WScript.FullName プロパティで WSH の実行ファイルのパスを取得できます。
cscript.exe で実行した場合
WScript.Echo WScript.FullName ' → C:\WINDOWS\system32\cscript.exe
wscript.exe で実行した場合
WSHのバージョンの取得
WScript.Version プロパティで WSH のバージョンを取得できます。
WScript.Echo WScript.Version ' → 5.812
スクリプトのファイル名の取得
WScript.ScriptName プロパティでスクリプトのファイル名を取得できます。
WScript.Echo WScript.ScriptName ' → wscript-object.vbs
スクリプトのフルパスの取得
WScript.ScriptFullName プロパティでスクリプトファイルのフルパスを取得できます。
WScript.Echo WScript.ScriptFullName ' → C:\vbs\wscript-object.vbs
実行モードの取得
WScript.Interactive プロパティでスクリプトの実行モードを取得できます。
対話モードなら True 、バッチモードなら False が返ります。
WScript.Echo WScript.Interactive ' → 1 (=対話モードを表す)
実行モードはオプションで指定できます。
対話モード: オプション省略、または //I 指定
バッチモード: //B 指定
対話モード cscript.exe test.vbs //I バッチモード cscript.exe test.vbs //B
タイムアウト時間の取得
WScript.Echo WScript.TimeOut ' → 0
タイムアウト時間は //T:nn オプションで指定できます。
nn の部分に時間を指定します。
0 指定で無制限になります。省略時の既定値は 0 です。
例)1秒でタイムアウトにする場合
cscript.exe test.vbs //T:1スクリプト "test.vbs" の実行時間が制限時間を超えました。 スクリプトの実行は中止されました。
スクリプトの終了
WScript.Quit メソッドでスクリプトを終了できます。
プロシージャ内で実行した場合も呼び出し元に戻るのではなく、スクリプト自体が終了します。
WScript.Quit 〈exitCode〉exitCode に終了コードを指定します。
省略時は正常終了(0)になります。
32ビット整数(-2147483648 ~ 2147483647)を指定できます。
範囲を超える値を指定すると、実行時エラーが起きます。
→ オーバーフローしました。: ‘WScript.Quit’
スクリプトの中断
WScript.Sleep メソッドでスクリプトを中断できます。
WScript.Sleep 〈millisecondsTimeout〉millisecondsTimeout に待機する時間をミリ秒で指定します。