VBScript - WScript オブジェクトでできること
VBScript - WScript オブジェクトでできること
WScript オブジェクトでできることを説明します。
WScript オブジェクトを使うと、以下のようなことができます。
- WSH実行ファイル(cscript.exe/wscript.exe)の情報取得
- スクリプトの情報取得
- スクリプトの実行制御
WScript オブジェクトは、WSH 固有の機能です。
起動時に自動でインスタンス化されます。
よって、自分で CreateObject する必要はありません。
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.TimeOut プロパティでタイムアウト時間(スクリプトを実行できる最大の時間)(秒)を取得できます。
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 に待機する時間をミリ秒で指定します。
アカウントを作成 して、もっと沢山の記事を読みませんか?
この記事にコメントをしてみませんか?