【问题标题】:How to monitor folder for file that begins with variable string in VBS [duplicate]如何在VBS中监视以变量字符串开头的文件的文件夹[重复]
【发布时间】:2020-10-31 00:46:31
【问题描述】:

我在 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

【问题讨论】:

  • @Hackoo 有点像。是否有文件名的 TargetInstance 以及如何使其成为“开头”?

标签: vbscript wmi wmi-query


【解决方案1】:

参考WMI and File System Monitoring,可以这样写:


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
'-------------------------------------------------------------

【讨论】:

  • 我认为这是为了回答我的另一个问题 :)
  • 如果您在此处发布此答案,我会检查它,因为它有效stackoverflow.com/questions/64616381/…
  • 我没有投反对票!您的回答对我的其他问题有用!我认为其他人投了反对票,因为它没有回答文件名以部分开头
  • 那么如果它有效,为什么你不接受它作为anwser?
  • 我在另一篇文章中接受了,但我仍然有一个问题:如何监视Folder1\Folder2\Folder3\2020 中的文件以查找以特定字符串开头的文件
猜你喜欢
  • 1970-01-01
  • 2021-12-08
  • 2013-06-23
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
  • 2018-08-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多