Windows: Скрипт для автоматической печати документов из папки
Наверное, одна из самых частых проблем при работе на терминальном сервере -- проблемы при печати. Заставить работать старые принтеры под новыми операционками без танцев с бубном получается крайне редко. При наличии чужих серверов без административных прав, подключение принтеров выглядит совсем печальным процессом. Отсюда родился костыль вида: pdf-принтер настроенный на сохранение в определенную папку и скрипт, который мониторит эту папку и если в ней появляется файл с расширением pdf, отправляет его на печать, а потом удаляет.
В качестве pdf-принтера ваш покорный слуга использовал PDFCreator v1.7.3 (скачать можно отсюда). Вообще, подойдет любой pdf-принтер, PDFCreator мне просто привычнее.
В PDFCreator заходим Принтер --> Настройки --> Автосохранение. Ставим галку использовать автосохранение и выбираем папку куда будем сохранять.
В скрипте указываем туже папку что и в настройках PDFCreator.
Текст VBS-скрипта:
Option Explicit : Dim objWord, objDoc, wssh, objFS, objShell, objPath, objFolder, objItem
Set wssh = CreateObject("WScript.Shell")
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objPath = objFS.GetFolder("d:\pdfprint\") 'Папка, из которой файлы отправляются на печать
Do
PrintDelInFolder objPath
WScript.Sleep 1000 ' Частота проверки папки -- 1 секунда
Loop
Sub PrintDelInFolder(objFolder)
For Each objItem In objFolder.Files
If StrComp(objFS.GetExtensionName(objItem.Name), "pdf", vbTextCompare) = 0 Then
With wssh
WScript.Sleep 1000
On Error Resume Next
dim f
f = Cstr(objItem.Path+".pdf")
objFS.MoveFile objItem.Path, f
If err.number=0 then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute f, "vbHide", "", "print", 0
set objShell = nothing
err.Clear
Do
WScript.Sleep 5000
objFS.DeleteFile f ,true
Loop While objFS.FileExists(f)
err.Clear
End If
On Error Goto 0
End With
End If
Next
End Sub
WScript.Quit 0
Скачать скрипт можно отсюда.
Комментарии
Обновил скрипт. Теперь есть удаление или перемещение в другую папку. Все настраивается.
RSS лента комментариев этой записи