Что нового

Срабатывание скрипта на определенный текст в закрытом файле txt

mv6677

Новичок
Сообщения
105
Репутация
0
Версия AutoIt: 3.3.14.0

Описание:
Здравствуйте.
Помогите решить задачу.

В папке лежит текстовый файл 1.txt - он не открыт. Там написан самый разнообразный текст.

Как заставить скрипт выдать сообщение "Кодовое слово", если в тексте файла 1.txt появляется слово "Сто семнадцать" ?
(То есть - скрипт постоянно висит в трее. Если открыть файл, вписать туда помимо прочего текста - слово "Сто семнадцать", сохранить и закрыть файл - то один раз запустится сообщение "Кодовое слово" )

Примечания:
 

Вложения

  • 1.txt
    114 байт · Просмотры: 5

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
mv6677 сказал(а):
В папке лежит текстовый файл 1.txt - он не открыт. Там написан самый разнообразный текст.

Как заставить скрипт выдать сообщение "Кодовое слово", если в тексте файла 1.txt появляется слово "Сто семнадцать" ?
(То есть - скрипт постоянно висит в трее. Если открыть файл, вписать туда помимо прочего текста - слово "Сто семнадцать", сохранить и закрыть файл - то один раз запустится сообщение "Кодовое слово" )

Пробуйте

Код:
Opt("TrayAutoPause", 0)

Global $sFilePath = @ScriptDir & "\1.txt", $hFile, $sText, $sOldTime, $sCurTime

$hFile = FileOpen($sFilePath)
If $hFile = -1 Then Exit MsgBox(16 + 262144, "Ошибка", "Не удалось получить дескриптор файла.")

$sText = FileRead($hFile)
If StringInStr($sText, "Сто семнадцать") Then MsgBox(0, "Кодовое слово", "Сто семнадцать")

$sTimeOld = FileGetTime($sFilePath, 0, 1)

While 1
	$sCurTime = FileGetTime($sFilePath, 0, 1)
	If $sCurTime <> $sTimeOld Then
		;If Not FileExists($sFilePath) Then Exit MsgBox(16 + 262144, "Ошибка", "Файл не существует.")
		FileSetPos($hFile, 0, 0)
		$sText = FileRead($hFile)
		If StringInStr($sText, "Сто семнадцать") Then MsgBox(0, "Кодовое слово", "Сто семнадцать")
		$sTimeOld = $sCurTime
	EndIf
	Sleep(250)
WEnd
 
Автор
M

mv6677

Новичок
Сообщения
105
Репутация
0
Tempo, все работает. Спасибо за помощь.
 
Верх