View difference between Paste ID: er2NJa2a and GXHruAkt
SHOW: | | - or go back to the newest paste.
1
'Автоматическая печать знакомых системе файлов, появляющихся в определенной папке
2
3
Set gFSO = CreateObject("Scripting.FileSystemObject")
4
Set gShell = CreateObject("WScript.Shell")
5
6
'Папка, в которой скрипт ждет файлы. К ней есть доступ по сети на запись
7
gWatchFolder = "G:\PrintME\"
8
'Основной цикл
9
While true
10
 Set lFolder = gFSO.GetFolder(gWatchFolder)
11
 Set lFiles = lFolder.Files
12
 For Each lFile In lFiles
13
  PrintFile(gWatchFolder & lFile.Name)
14
 Next
15
 WScript.Sleep(1000)
16
WEnd
17
 
18
'Функция печати конкретного файла
19
Sub PrintFile(pFileName)
20
 'Ждем некоторе время (а вдруг файл большой, ещё не записался) 
21
 WScript.Sleep(10000)
22
 s = """c:\!bin\classExec.exe"" """ & pFileName & """ --action print"
23
 Call gShell.Run(s,0,true)
24-
 'Некоторые файлы могут печататься долго, поэтому методом вилки вылавливаем-с паузу после посылания задания на печать перед удалением исходника
24+
 'Некоторые файлы могут печататься долго, поэтому методом вылавливаем-с его освобождение тупым повтором удаления
25-
 WScript.Sleep(30000)
25+
While gFSO.FileExists(pFileName)
26
 WScript.Sleep(5000)
27-
 If gFSO.FileExists(pFileName) Then
27+
28-
  msgbox("Не удалось удалить файл " & pFileName & "! Фигня какая-то, перезапусти скрипт печати")
28+
29-
  WScript.Quit
29+