Поиск определенной строки в последней строке текста и выполнение программы при выполнении критериев через пакетную программу Windows - PullRequest
0 голосов
/ 26 сентября 2019

Моя цель - создать пакетный файл, который ищет определенную строку "--- Exit ---" в последней строке данных в файле с именем "output.log" и запускает программу, когда в последнем предложении есть строка.

«output.log» - это файлы журнала, которые всегда обновляются с интервалом> 3 с, поскольку это дамп файла журнала (следовательно, последнее предложение всегда будет другим)

...
08-15-19 14:58:03 [10220] INFO root <> - Information: General - "Stopping all customize processes" () 
08-15-19 14:58:03 [10220] INFO root <> - Information: General - "All customize processes stopped" () 
08-15-19 14:58:03 [10220] INFO root <> - ----- Exit  -----

NBЕсть десятки «--- Выход ---» в полном документе.

Если в последнем предложении «output.log» появляется «--- Exit ---», пакетный файл должен выполнить программу (например, calc.exe)

СОчень ограниченные знания в пакетном файле, мой первоначальный план:


1) cd into the correct directory

2) Copy file from source folder (output.log) into another folder 

3) Using FindRepl.bat, replace "--- Exit ---" to "--- Ex1t ---" and store it into another name (output2.log) (I was not able to save the replaced text into the original "output.log", hence i do this)

3) delete "output.log" 

4) rename "output2.log" to "output.log" 

5) execute program (when --- Exit ---- exist; but not --- Ex1t ---)... 

6) loop from the top

Проблема, с которой я столкнулся, заключается в том, что я не могу удалить «output.log» и переименовать «output.log». Также существует критический недостаток, поскольку исходный дамп output.log по-прежнему содержит «Выход» внутри, следовательно ... создает бесконечный цикл

Существует ли какой-либо сценарий / альтернатива, в которой пакет мог бы прочитать последнее предложениеиз файла output.log и после того, как последнее предложение содержит «--- Exit ---», затем выполнить определенную программу (например, calc.exe)?

Было бы замечательно, если бы было объяснение того, как работает каждая строка, это было бы здорово для госзакупок с нулевым опытом партии, как я!

...