Войти

Показать полную графическую версию : [решено] Перемещение файла по названию из лога с ошибкой


4inpekemon
09-06-2022, 13:00
Добрый день,

Есть файлы с логами вида:
Audit-20220608.txt
в него записываются ошибки вида:
6/8/2022 11:03:34 ERROR Путь к файлу C:\test\log\testfile523.txt "описание ошибки'
6/8/2022 12:03:34 ERROR Путь к файлу C:\test\log\523testfile.txt "описание ошибки'

необходимо проверять на новые записи и перемещать файлы записанные в лог в другую папку например C:\test\out

есть ли возможность реализовать на PowerShell?

DJ Mogarych
09-06-2022, 17:31
В именах и путях файлов бывают пробелы?
Файлы только txt или нет?
Какие разделители в строках лога?
Логи, судя по названию, новые каждый день. Туда идёт запись и днём и ночью? Насколько часто туда идёт записи? Это вопрос про переключение в полночь.

4inpekemon
10-06-2022, 09:10
1. Пробелы отсутствуют
2. Только txt
3. Разделители отсутствуют, новая запись с новой строки
4. Каждый день, новый лог начинается в 00:00:00 следующего дня

DJ Mogarych
10-06-2022, 10:00
gc (dir "C:\test\Audit-*.txt" |sort name |select -Last 2) |% {
if (test-path ($file = "$($_.split()[6])")) {
mv "$file" "C:\test\out" -WhatIf
}
}


Уберите -WhatIf, чтобы реально перемещало.
Скрипт надо добавить в планировщик задач и настроить частоту запуска.
Скрипт просматривает два последних лога по имени.




© OSzone.net 2001-2012