当文件添加到文件夹时触发VBScript [英] Trigger a VBScript when a file is added to a folder
本文介绍了当文件添加到文件夹时触发VBScript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
但是我的要求是在后台自动触发此VB脚本,当文件创建或添加到文件夹
'脚本开始
使用CreateObject(Scripting.FileSystemObject)
.MoveFileC:\Source\Files\ *。*,D:\Destination\Files\
结束
'脚本结束
解决方案
InstanceCreationEvent
设置objWMIService = GetObject(winmgmts:{impersonationLevel = impersonate}!\\.\root\cimv2)
设置colMonitoredEvents = objWMIService.ExecNotificationQuery _
(SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE Targetinstance ISA'CIM_DirectoryContainsFile'和TargetInstance.GroupComponent ='Win32_Directory.Name =c:\\\\\scripts')
设置objLatestEvent = colMonitoredE vents.NextEvent
使用CreateObject(Scripting.FileSystemObject)
.MoveFileC:\Source\Files\ *。*,D:\Destination \Files\
结束
循环
InstanceModificationEvent
设置objWMIService = GetObject(winmgmts:{impersonationLevel = impersonate}!\\.\root\cimv2)
设置colMonitoredEvents = objWMIService .ExecNotificationQuery _
(SELECT * FROM __InstanceModificationEvent WITHIN 10 WHERE Targetinstance ISA'CIM_DirectoryContainsFile'和TargetInstance.GroupComponent ='Win32_Directory.Name =c:\\\\\scripts')
Do
设置objLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo objLatestEvent.TargetInstance.PartComponent
循环
InstanceDeletionEvent
设置objWMIService = GetObject(winmgmts:{impersonationLevel = impersonate}! \\\。 \\ rot \cimv2)
设置colMonitoredEvents = objWMIService.ExecNotificationQuery _
(SELECT * FROM __InstanceDeletionEvent WITHIN 10 WHERE Targetinstance ISA'CIM_DirectoryContainsFile'和TargetInstance.GroupComponent ='Win32_Directory.Name =c: \\\scripts')
Do
设置objLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo objLatestEvent.TargetInstance.PartComponent
循环
I wish to automate some tasks. I need to move files from one folder to another. I have written the script below which is working fine.
But my requirement is to trigger this VB script automatically, in the background, when a file is created or added to a folder.
'Script Begins
With CreateObject("Scripting.FileSystemObject")
.MoveFile "C:\Source\Files\*.*", "D:\Destination\Files\"
End With
'Script Ends
解决方案
InstanceCreationEvent
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=""c:\\\\scripts""'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
With CreateObject("Scripting.FileSystemObject")
.MoveFile "C:\Source\Files\*.*", "D:\Destination\Files\"
End With
Loop
InstanceModificationEvent
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceModificationEvent WITHIN 10 WHERE Targetinstance ISA 'CIM_DirectoryContainsFile' and TargetInstance.GroupComponent= 'Win32_Directory.Name=""c:\\\\scripts""'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo objLatestEvent.TargetInstance.PartComponent
Loop
InstanceDeletionEvent
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceDeletionEvent WITHIN 10 WHERE Targetinstance ISA 'CIM_DirectoryContainsFile' and TargetInstance.GroupComponent= 'Win32_Directory.Name=""c:\\\\scripts""'")
Do
Set objLatestEvent = colMonitoredEvents.NextEvent
Wscript.Echo objLatestEvent.TargetInstance.PartComponent
Loop
这篇关于当文件添加到文件夹时触发VBScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文