Файл Log
-
Ни чего не понимаю, почему команда Первое вхождение не воспринимает символ окончания строки $ ? На проверке регулярки всё работает https://regex101.com/r/isNu8a/1
Пока решил так:
- Запустить процесс
dir "c:\BrowserAutomationStudio\logs\log\" /O:D /B
Указываем папку с логами.
- Извлечь все данные
\d{4}\.\d{2}\.\d{2}\.\d{2}\.\d{2}\.\d{2}\.txt
Получаем все имена файлов лога.
- Последний элемент
Теперь точно получаем именно самый новый файл лога.
-
@Fox Пока нет, только с костылями.
-
@Fox Воспринимает. Вот мой проект
0_1495212586098_searchlastlog.xml
-
@Fox Воспринимает. Вот мой проект
0_1495212586098_searchlastlog.xmlЗапустил только что ваш скрипт, из трёх файлов лога в шаблоне
C:\BrowserAutomationStudio\apps\18.4.0>dir "C:\work\appslocal\logs\log\" /O:D /B 2017.05.14.08.56.42.txt 2017.05.15.08.24.52.txt 2017.05.15.23.56.03.txt
Он выбрал самый старый, игнорируя символ окончания строки $.
-
@Fox Да, у меня тоже, я ошибся.
Это из-за того, что действие Первое вхождение использует флаг multiline. Вот здесь описана его работа.
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/RegExp/multilineНо можно получить список со всеми вхождениями, а потом получить последний.
0_1495311310529_searchlastlog.xml
-
Но можно получить список со всеми вхождениями, а потом получить последний.
0_1495311310529_searchlastlog.xmlЯ же как раз постом выше этот способ описал, только проект не приложил.
Пока решил так:
Запустить процесс
dir "c:\BrowserAutomationStudio\logs\log" /O:D /B
Указываем папку с логами.
Извлечь все данные
\d{4}.\d{2}.\d{2}.\d{2}.\d{2}.\d{2}.txt
Получаем все имена файлов лога.
Последний элемент
Теперь точно получаем именно самый новый файл лога.
-
@Fox Я понял, туплю.
-
@support Да всё норм :)
-
Добавлю сюда решение для корректного отображения кириллицы:
- Запустить процесс
chcp 65001 dir "c:\test\" /O:D /B