Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Задачка для ТС за деньги 
Author Message
Batya



PostPosted: Thu Apr 12, 2007 15:46    Post subject: Reply with quote

Volniy wrote:
Ты опять упрощаешь. Между тем моментом, когда ты обнаружишь файл и когда ты его уже переместишь в некую другую папку пройдет существенный промежуток времени. В это время может появиться новый файл. Как ты об этом узнаешь в скрипте, он ведь будет все еще печатью предыдущего файла заниматься?

А зачем же усложнять? Smile
У меня уже работает несколько таких скриптовых мониторов, и я не вижу особых проблем. Вот кусок кода, по которому принцип, я думаю будет понятен:
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 скриптов, а один скрипт с доп. параметром, но это уже детали.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group