目的としてはいろいろ考えられますが、ここではよく使われる Sleep の代わりになり、ずっと待ち状態になる方法を紹介します。実際は、時分秒を指定して指定した時刻にのみ処理を開始する事もできます(そのほうが現実的です)。
' このセクションは、cscript.exe で処理を強制させるものです
str = WScript.FullName
str = Right( str, 11 )
str = Ucase( str )
if str <> "CSCRIPT.EXE" then
str = WScript.ScriptFullName
Set WshShell = CreateObject( "WScript.Shell" )
Call WshShell.Run( "cmd.exe /c cscript.exe """ & str & """ & pause", 3 )
WScript.Quit
end if
' WMI の処理の為のオブジェクトを取得
Set obj = GetObject("winmgmts:\\.\root\cimv2")
' イベントの定義
Set objMonitor = obj.ExecNotificationQuery( _
"select * from __InstanceModificationEvent " & _
"where TargetInstance isa 'Win32_LocalTime' " & _
" and TargetInstance.Year = 0" _
)
Wscript.Echo "TargetInstance.Year は 0 にならないので、次の行より後の処理は実行されません"
Set objLatestEvent = objMonitor.NextEvent
Wscript.Echo "ここは実行されません"
プロバティとしては以下が使用できます
class Win32_LocalTime : Win32_CurrentTime
{
uint32 Day;
uint32 DayOfWeek;
uint32 Hour;
uint32 Milliseconds;
uint32 Minute;
uint32 Month;
uint32 Quarter;
uint32 Second;
uint32 WeekInMonth;
uint32 Year;
};
▼ 実際に select * from Win32_LocalTime で取得したサンプルです
| Day | DayOfWeek | Hour | Milliseconds | Minute | Month | Quarter | Second | WeekInMonth | Year |
|---|---|---|---|---|---|---|---|---|---|
| 22 | 4 | 19 | 49 | 5 | 2 | 22 | 4 | 2014 |
VBScriptドキュメント
|
|
【VBS + WMIの最新記事】
- Windows10 : VBScript : WMI を使用してレジストリ情報より、shell: を使ってフォルダを開く(実行できる)コマンドラインの一覧ボタンを表示する Html Applicati..
- VBScript( WMI )によるイベント関数を WMI に登録するタイマー処理
- 64ビット PC の VBScript で 32ビット ODBC ドライバの一覧を取得する( ODBC 接続のドライバ文字列を正しく取得したい )
- VBScript + WMI : ファイルの状態の監視
- VBScript : WMI と NT Provider(ADSI) をそれぞれ使用して、共有を『登録』『一覧』『削除』するサンプル
- VBSCript+WMI : コンピュータ上のファイル検索と詳細情報
- VBScript : OSのバージョンを取得
- VBS : コンピュータから c$ 共有を一時的に削除
- VBS : 指定した HOST 名を現在の IP アドレスで HOSTS ファイルに登録するスクリプト
【VBScript関連のカテゴリ】






