Batya

|
Posted: Thu Apr 12, 2007 15:46 Post subject: |
|
|
Volniy wrote: | Ты опять упрощаешь. Между тем моментом, когда ты обнаружишь файл и когда ты его уже переместишь в некую другую папку пройдет существенный промежуток времени. В это время может появиться новый файл. Как ты об этом узнаешь в скрипте, он ведь будет все еще печатью предыдущего файла заниматься? |
А зачем же усложнять?
У меня уже работает несколько таких скриптовых мониторов, и я не вижу особых проблем. Вот кусок кода, по которому принцип, я думаю будет понятен:
Code: | 'Устанавливаем ключ реестра в рабочее состояние
MykeyValue = True
WSH.RegWrite MyKey, MykeyValue
Set oSD = FSO.GetFolder(SourceDir)
'Бесконечный цикл (выход по изменению ключа реестра)
Do While MykeyValue
Status = False 'Ключ наличия файлов для отправки
'Сканирование каталога
For Each F In oSD.Files
'Если имя файла начинается с указанного префикса
If InStr(1, F.Name, Prefix, 1) = 1 Then
Status = True
'Пишем в лог текущее время и имя файла
If Time < CDate("10:00:00") Then
OTL.WriteLine Date & " 0" & Time & " -> Файл для отправки - " & F.Name
Else
OTL.WriteLine Now & " -> Файл для отправки - " & F.Name
End If
...
End If
Next
...
'Пауза в мс
WScript.Sleep Delay * 1000
'Читаем реестр
MykeyValue = WSH.RegRead(MyKey)
Loop
|
А с видением решения с печатью я согласен. Только если использовать DirMonitor, я бы сделал не 10 скриптов, а один скрипт с доп. параметром, но это уже детали. |
|