Не могу заставить AHK искать текстовые файлы в подпапках

Статус
В этой теме нельзя размещать новые ответы.

staskov2009

Новичок
Автор темы
6
2
Привет, уже часа 4 голову ломаю как заставить скрипт искать текстовые файлы в подпапках.
Основной смысл скрипта, это поиск логов в которых хоть раз упоминается одна из 2-х записей. В случае если одна из них будет найдена, звучит звуковое уведомление, удаляется сам файл и программа завершается. Сам цикл поиска повторяется каждую секунду, пока не найдет одну из 2-х записей.

Сами логи генерируются в подпапках внутри директории Logs. Ниже пару скринов примеров.

Screenshot_9.png Screenshot_10.png

Код:
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

F2:: ; Клавиша активации скрипта
way = %A_MyDocuments%\My Games\Prime World\Session\Logs\* ; Путь к папке
Loop,
{
    FileRead, file, %way%\*.txt ; Читаем Лог
    IfInString, file, Player [Name] has started voting ; Ищем в Логе фразу "Player [Name] has started voting"
    {
        Msgbox rabotaet
        Sleep 50 ; Задержка
        SoundPlay, sdacha.mp3 ; Уведомление
        SendInput, {Enter}Пора ливать.{Enter} ; Пишем в чат /time
        FileDelete, %way%  ; Удаляем Лог
        Break
    }
    IfInString, file, now we are NOT able to render  :) ; Ищем в Логе фразу "now we are NOT able to render  :)"
    {
        Msgbox GG
        Sleep 50 ; Задержка
        SoundPlay, pobeda.mp3 ; Уведомление
        FileDelete, %way%  ; Удаляем Лог
        Break
    }
    else
    {
        Sleep, 1000
    }
}
return ; Ретерним чтобы потом снова активировать скрипт на F2
 
Последнее редактирование:

staskov2009

Новичок
Автор темы
6
2
По итогам разобрался, скрипт немного изменил. Доработал под то, что хотел.
Код:
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#IfWinActive Prime World
way = %A_MyDocuments%\My Games\Prime World\Session\Logs\chatlog.txt ; Путь к папке
Loop,
{
    Loop, %A_MyDocuments%\My Games\Prime World\Session\Logs\*.txt, 0, 1,
    {
        FileRead, file, %A_LoopFileFullPath% ; Читаем Лог
        IfInString, file, Player [Name] has started voting ; Ищем в ЧатЛоге фразу "Player [Name] has started voting"
        {
            Sleep 50 ; Задержка
            SoundPlay, sdacha.mp3 ; Уведомление
            SendInput, {Enter}Пора ливать.{Enter} ; Пишем в чат /time
            FileMove, %A_LoopFileFullPath%, %A_MyDocuments%\My Games\Prime World\Session\LogsCopy\  ; Удаляем ЧатЛог
            Sleep 5000
            Break
        }
        IfInString, file, now we are NOT able to render  :) ; Ищем в ЧатЛоге фразу "now we are NOT able to render  :)"
        {
            Msgbox GG
            Sleep 50 ; Задержка
            SoundPlay, pobeda.mp3 ; Уведомление
            FileMove, %A_LoopFileFullPath%, %A_MyDocuments%\My Games\Prime World\Session\LogsCopy\   ; Удаляем ЧатЛог
            Sleep 7500
            Break
        }
       
    }
    Sleep, 1000
}
return ; Ретерним чтобы потом снова активировать скрипт на F2
 
Статус
В этой теме нельзя размещать новые ответы.