Vbscript 如何在VBS中监视以变量字符串开头的文件的文件夹

Vbscript 如何在VBS中监视以变量字符串开头的文件的文件夹,vbscript,wmi,wmi-query,Vbscript,Wmi,Wmi Query,我在VBS文件中有以下代码。如何监视Folder1\Folder2\Folder3\2020中以特定字符串开头的文件 file_starts_with = "abc" & Year(Now()) & " " & Month(Now()) & " " & Day(Now()) Set objWMIService = GetObject("winmgmts:{imperson

我在VBS文件中有以下代码。如何监视
Folder1\Folder2\Folder3\2020
中以特定字符串开头的文件

    file_starts_with = "abc" & Year(Now()) & " " & Month(Now()) & " " & Day(Now())
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
    Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
    ("SELECT * FROM __InstanceCreationEvent WITHIN 10 _
     WHERE Targetinstance ISA 'CIM_DirectoryContainsFile' and TargetInstance.GroupComponent= 'Win32_Directory.Name=""P:\\\\Folder1\\\\Folder2\\\\Folder3\\\\2020""'")
     Do
         Set objLatestEvent = colMonitoredEvents.NextEvent
         'more code here
     Loop
请参阅,您可以这样写:



@有点像哈克。是否有一个文件名的目标,以及如何使它成为一个“开始”?我想这是为了回答我的另一个问题:)如果你把这个答案张贴在那里,我会检查它,因为它的工作我没有否决!你的回答对我的另一个问题有效!我想其他人投了反对票,因为它没有回答文件名以part开头的问题。如果它起作用,为什么你不接受它作为一个wser?我在另一篇文章中接受了,但我仍然有一个问题:我如何监控
Folder1\Folder2\Folder3\2020
中以特定字符串开头的文件
CURRENT_YEAR=Year(Now)
sPath = "F:\Folder1\Folder2\Folder3\"& CURRENT_YEAR
sDrive = split(sPath,":")(0)
sFolders1 = split(sPath,":")(1)
sFolders = REPLACE(sFolders1, "\", "\\\\")
TargetFolder = DblQuote(sDrive & ":" & sFolders)

wscript.echo sPath
wscript.echo TargetFolder

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & _
    strComputer & "\root\cimv2")

Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
    ("Select * From __InstanceCreationEvent Within 2 Where " _
    & "Targetinstance Isa 'CIM_DirectoryContainsFile' and " _
    & "TargetInstance.GroupComponent= " _
    & "'Win32_Directory.Name="& TargetFolder &"'")

' The loop
Do
    Set objLatestEvent = colMonitoredEvents.NextEvent
    Wscript.Echo objLatestEvent.TargetInstance.PartComponent
Loop
'-------------------------------------------------------------
Function DblQuote(str)
    DblQuote = chr(34) & str & chr(34)
End Function
'-------------------------------------------------------------