Lotus Script + (vbscript или Bat-файл)

Тема в разделе "Lotus - Программирование", создана пользователем Serg84, 25 июн 2008.

Статус темы:
Закрыта.
  1. Serg84

    Serg84 Гость

    Всем привет.

    Пишу в основном vbscript и bat-файлы, для решения необходимых задач. Написал vbscript для поиска файлов в папке, дата создания которых меньше определенной даты (в качестве параметра при запуске задавалось число дней, которое нужно вычесть из текущей даты и сравнить полученную дату с датой создания (редактирования) файла). В зависимости от результата осуществлялась отправка сообщения через SMTP.

    sub sender()
    {...}
    end sub

    set objNamedArgs=Wscript.Arguments.Named
    killdate=date() - objNamedArgs.item("days")

    set FSO = WScript.CreateObject("Scripting.FileSystemObject")
    set strFile = FSO.GetFile("путь к файлу")
    dtelastmodified = strFile.datelastmodified

    if dtelastmodified < KillDate then
    sender
    end if

    Пример запуска: test.vbs /days:2


    Сегодня попросили реализовать этот же скрипт в Lotus`e. Т.к. в программировании на Лотусе новичок, то за первый день знакомства с языком @-формул понял лишь пока как просто отправить сообщение. Дальнейшее пока просто не представляю как реализовть. Возникло несколько вопросов по реализации задачи:

    1) Можно ли средствами самого Лотуса (на языке @-формул) реализовать данную задачу?
    То есть: 1) получить дату создания файла, которые лежит на диске
    2) из текущей даты вычесть определенное количество дней (пусть количество дней будет жестко прописано в скрипте, т.к. непонятно как передать его в качестве параметра)
    3) сравнить даты - если 2) > 1) - то отсылаем сообщение что дата создания файла старее чем нужно нам. Если же 2) < 1) - ничего не происходит.

    2) Может быть можно в Лотусовском скрипте запускать мой vbscript, а потом по результату его выполнения как то передать управление агенту на отсылку сообщения (если нужно)?
    То есть из LS как-нибудь запускаем vbs, и в результате проверки дат в его теле происходит передача управления агенту, который отсылает письмо:

    set FSO = WScript.CreateObject("Scripting.FileSystemObject")
    set strFile = FSO.GetFile("путь к файлу")
    dtelastmodified = strFile.datelastmodified

    if dtelastmodified < KillDate then
    ПЕРЕДАЧА УПРАВЛЕНИЯ АГЕНТУ
    end if

    3) Третий вариант, который крутится голове, не знаю как его реализовать, если вообще можно)))

    Если имя файла (допустим он в анализируемой папке один) представлено ввиде даты, то из лотусовского скрипта можно вызвать запуск bat-файла, который бы считывал имя файла и преобразовывал его в дату, а дальше уже с помощью @-формул сравнивать даты и по результатам сравнения отправлять письмо или ничего не делать.


    Заранее большое спасибо.
     
  2. LIGHT

    LIGHT Гость

    Можно, лотус замечательно работает с Wscript http://codeby.net/forum/threads/22603.html
    А там как заходите, запуск внешней программы (в т.ч. bat, cmd, vbs) тоже работает в лотусе смотрите в хелпе Execute
    Так же можно через WScript.shell http://codeby.net/forum/threads/19423.html

    Еще я думаю, можно на читом LotusScript все реализовать. Сканить папку и получать атрибуты файлов.
     
  3. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    1 - не уверен что можно чистым LS без "примемей"
    2 - можно реализовать
    3 - если имя будет в формате даты тогда зачем чтото ещё нужно? лотус может собрать все файлы в заданной директории

    Код (Text):
    ' List the contents of the c:\ directory, one entry per line.
    Dim pathName As String, fileName As String
    pathName$ = "c:\*.*"
    fileName$ = Dir$(pathName$, 0)
    Do While fileName$ <> ""
    Print fileName$
    fileName$ = Dir$()
    Loop
    fileName - и будет содержать имя файла. Потом преобразуем в дату ( с проверкой ) и дальше сфайлом делаем все что необходимо
     
  4. Serg84

    Serg84 Гость

    Спасибо большое за отзывы, действительно в Lotus работает WScript, в обработчике условия просто вызвал процедуру отправки сообщения и все заработало.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей