Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Открывать файл пока не откроется (http://forum.oszone.net/showthread.php?t=226924)

Morpheus 02-02-2012 23:41 1850459

Открывать файл пока не откроется
 
Всем привет!

Есть скрипт читающий данные из файла с заданным интервалом. Запущен постоянно, переделать этот момент нельзя.
Код:

iTimerID = window.SetInterval("GetData", 5000)
<...>
  Set objFile = objFSO.OpenTextFile("путь\файл.log", 1)

Всё хорошо пока файл на локальной машине, при выходе из сна проблем тоже нет.
Если файл в сети, то тоже всё работает, но только до сна. При выходе из спячки данные перестают обновляться. Логично предположить, что некоторое время (несколько секунд) сетка не доступна и файл по этой причине не читается.
Как устроить повтор попыток чтения пока файл не прочитается (задать некий таймаут)?

Спасибо!

Iska 03-02-2012 03:19 1850550

А что говорит сразу после выхода из сна простая проверка существования файла:

Код:

If objFSO.FileExists("путь\файл.log") Then
    MsgBox "File [путь\файл.log] found"
Else
    MsgBox "File [путь\файл.log] not found"
End If

Если сразу — не найден, а спустя время — доступен, то, может, поскольку интервал у Вас небольшой, при недоступности файла просто пропускать чтение до следующего вызова обработки:
Код:

Sub GetData()
    …
    If objFSO.FileExists("путь\файл.log") Then
        Set objFile = objFSO.OpenTextFile("путь\файл.log", 1)
        …
        …
        objFile.Close
    End If
    …
End Sub

?

Morpheus 03-02-2012 14:49 1850909

Цитата:

Цитата Iska
сразу — не найден, а спустя время — доступен »

:yes:
Спасибо большое! Пришлось повозиться, всё заработало когда добавил:
Код:

    If objFSO.FileExists("путь\файл.log") Then
        Set objFile = objFSO.OpenTextFile("путь\файл.log", 1)
        …
        …
        objFile.Close
Else
Data = "--- --- --- --- ---"

    End If



Время: 11:08.

Время: 11:08.
© OSzone.net 2001-