How to monitoring folder files by vbs

vbscript

Solution

If you google for `"WMI TargetInstance.Drive"`, you'll see that the drive letter needs a colon. A query like

SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE TargetInstance ISA 'CIM_DataFile' AND TargetInstance.Drive='E:' AND TargetInstance.Path='\\trials\\SoTrials\\answers\\10041057\\data\\' AND TargetInstance.Extension = 'txt'

works as expected.

Problem

Can anyone help me where i do mistake ? this script is for monitoring folder for create, delete or modified text files ``` sPath = "C:\scripts\test" sComputer = "." sDrive = split(sPath,":")(0) sFolders1 = split(sPath,":")(1) sFolders = REPLACE(sFolders1, "\", "\\") & "\\" Set objWMIService = GetObject("winmgmts:\\" & sComputer & "\root\cimv2") Set colMonitoredEvents = objWMIService.ExecNotificationQuery _ ("SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE " _ & "TargetInstance ISA 'CIM_DataFile' AND " _ & "TargetInstance.Drive='" & sDrive & "' AND " _ & "TargetInstance.Path='" & sFolders & "' AND " _ & "TargetInstance.Extension = 'txt' ") Wscript.Echo vbCrlf & Now & vbTab & _ "Begin Monitoring for a Folder " & sDrive & ":" & sFolders1 & " Change Event..." & vbCrlf Do Set objLatestEvent = colMonitoredEvents.NextEvent Select Case objLatestEvent.Path_.Class Case "__InstanceCreationEvent" WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName & "." & objLatestEvent.TargetInstance.Extension _ & " was created" & vbCrlf Case "__InstanceDeletionEvent" WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName & "." & objLatestEvent.TargetInstance.Extension _ & " was deleted" & vbCrlf Case "__InstanceModificationEvent" If objLatestEvent.TargetInstance.LastModified <> _ objLatestEvent.PreviousInstance.LastModified then WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName & "." & objLatestEvent.TargetInstance.Extension _ & " was modified" & vbCrlf End If End Select Loop Set objWMIService = nothing Set colMonitoredEvents = nothing Set objLatestEvent = nothing ``` This script is run perfect when i write ``` sPath = "\\ComputerName\C$\scripts\test" ``` insted of ``` sPath = "C:\scripts\test" ``` Thank you....

Original source