2015-04-12 56 views
0

我想按固定的时间间隔(天)检查特定的注册表项是否超过特定值。 如果是,则运行批处理文件。 这是可能的(也许与RegScanner?)/如何?使用注册表值开始批处理

THX

+0

您正在寻找任务调度 – Steve

+1

计划以'REG query'和连续'如果一个任务.. 。在简单的批处理文件中调用yourbatch.bat'。参考:[Windows CMD命令行的A-Z索引](http://ss64.com/nt/) – JosefZ

回答

0

这是从帮助中的示例代码上RegistryValueChangeEvent在WMI

Set wmiServices = GetObject("winmgmts:root/default") 
Set wmiSink = WScript.CreateObject(_ 
    "WbemScripting.SWbemSink", "SINK_") 
wmiServices.ExecNotificationQueryAsync wmiSink, _ 
    "SELECT * FROM RegistryValueChangeEvent " _ 
    & "WHERE Hive='HKEY_LOCAL_MACHINE' AND " _ 
    & "KeyPath='SOFTWARE\\Microsoft\\WBEM\\sCRIPTING' " _ 
    & "AND ValueName='Default Namespace'" 
WScript.Echo "Listening for Registry Value" _ 
    & " Change Events..." & vbCrLf 
While(True) 
    WScript.Sleep 1000 
Wend 
Sub SINK_OnObjectReady(wmiObject, wmiAsyncContext) 
    WScript.Echo "Received Registry " _ 
     & "Change Event" & vbCrLf & _ 
     wmiObject.GetObjectText_() 
End Sub 
相关问题