• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

  • Автор темы Serg84
  • Дата начала
Статус
Закрыто для дальнейших ответов.
S

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-файла, который бы считывал имя файла и преобразовывал его в дату, а дальше уже с помощью @-формул сравнивать даты и по результатам сравнения отправлять письмо или ничего не делать.


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

LIGHT

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

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

morpheus

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

Код:
' 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 - и будет содержать имя файла. Потом преобразуем в дату ( с проверкой ) и дальше сфайлом делаем все что необходимо
 
S

Serg84

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!