Смотрите примерную болванку кода:
читать дальше »
Код:
Option Explicit
Dim strTargetFolder
Dim strPrinterName
Dim strComputer
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemEventSource
Dim objSWbemObjectEx
strTargetFolder = "C:\Обмен"
strPrinterName = "HP LaserJet 1200 Series PCL"
strComputer = "."
Set objSWbemLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set objSWbemEventSource = objSWbemServicesEx.ExecNotificationQuery( _
"SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE " & _
"TargetInstance ISA 'CIM_DirectoryContainsFile' AND " & _
"TargetInstance.GroupComponent = 'Win32_Directory.Name=""" & Replace(strTargetFolder, "\", "\\\\") & """'" _
)
WScript.Echo "Monitor files creation and Print documents in [" & strTargetFolder & "]..."
Do
With objSWbemServicesEx.Get(objSWbemEventSource.NextEvent.TargetInstance.PartComponent)
WScript.Echo Now() & " | > | New file: [" & .Name & "]"
Select Case UCase(.Extension)
Case "TXT"
PrintByNotepad .Name, strPrinterName
Case Else
' Nothing to do
End Select
WScript.Echo Now() & " | v | Delete file: [" & .Name & "]"
.Delete
End With
Loop
WScript.Quit 0
'=============================================================================
'=============================================================================
Sub PrintByNotepad(strFileName, strPrinterName)
WScript.CreateObject("WScript.Shell").Run """%SystemRoot%\System32\notepad.exe"" /pt """ & strFileName & """ """ & strPrinterName & """", 0, True
WScript.Echo Now() & " | # | Print file: [" & strFileName & "]"
End Sub
'=============================================================================
Детали в виде «несколько каталогов и несколько принтеров» подлежат разъяснению на предмет их связи.