1

Тема: VBS скрипт, отправка на печать и удаление. Помогите.

Здравствуйте.
Нужна помощь в создании скрипта.

Требуется скрипт который проверяет папку на наличие нового файла и этот новый файл отправлял на печать(пдф принтер, если это важно), после чего этот файл должен быть вырезан и перемещен в другую папку (также вариант просто с удалением будет неплох, но если есть возможноть лучше в вырезанием). 

Дело в том что я скрипты никогда не писал, а на работе внезапно озадачили. Я ваще компы крутил, а тут - скрипт.

У меня есть вот такое тело скрипта для проверки папки на наличие файла, но так как я не имею опыта в написании скриптов-для меня нарисовалась проблема в дополнении этого тела нужными мне функциями - отправка на печать, удаление/перемещение файла.

strDir = "c:\temp" ' каталог, за которым следим
strComputer = "." ' имя компьютера; "." означает текущий компьютер
'==============================================================================
strDirSlash = Replace(strDir, "\", "\\\\")
strNamespace = "Root\CIMV2"
' Подключаемся к пространству имен
Set objService = GetObject("WinMgmts:\\" & strComputer & "\" & strNamespace)
Set objSink = WScript.CreateObject("WbemScripting.SWbemSink", "Sink_")

objService.ExecNotificationQueryAsync objSink, _
    "SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE " &_
    "Targetinstance ISA 'CIM_DirectoryContainsFile' and " &_
    "TargetInstance.GroupComponent= " &_
    "'Win32_Directory.Name=""" & strDirSlash & """'"

' Выводим сообщение о запуске сканера
Wscript.Echo "Запущен сканер создания файла в папке " & strDir

' Запускаем бесконечный цикл ожидания
While 1
    WScript.Sleep 1000
Wend

' Процедура-обработчик события OnObjectReady объекта sWbemSink
Sub Sink_OnObjectReady(oOutParams, oContext)
    strResult = Date & " " & Time & vbCrLf &_
        "Создан файл: " &  oOutParams.TargetInstance.PartComponent
    Wscript.Echo strResult
End Sub

В общем, прошу помощи и прошу не ругать за тупые вопросы.

2

Re: VBS скрипт, отправка на печать и удаление. Помогите.

Нашел вот такой скрипт, не пойму куда его втыкать чтобы он отрабатывал когда файл найдется

Option Explicit
Const PrintFolder = "C:\B\"


DIM objShell : Set objShell = CreateObject("Shell.Application")
DIM objFolder : Set objFolder = objShell.Namespace(PrintFolder)
Dim objItem
For Each objItem in objFolder.Items
   'WScript.Echo "Printing..." & objItem.Path
   objItem.InvokeVerbEx("Print")
Next

3

Re: VBS скрипт, отправка на печать и удаление. Помогите.

Хотелось бы прояснить следующие пункты:
1. из постановки задачи можно понять, что в папке будет лежать несколько файлов - тогда встанет вопрос "Какой из них новый?" поскольку файлы могут как добавляться, так и удаляться из папки.
2. PDF принтер должен спросить имя файла и куда его положить, т.е. отвечать будет пользователь. Либо принтер настроен таким образом, что складывает сконвертированные файлы в определённую папку?
3. Файл может быть скопирован, перемещён, удалён - что значит "файл должен быть вырезан и перемещён в другую папку"?