Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Перемещение файла по названию из лога с ошибкой (http://forum.oszone.net/showthread.php?t=351353)

4inpekemon 09-06-2022 13:00 2986428

Перемещение файла по названию из лога с ошибкой
 
Добрый день,

Есть файлы с логами вида:
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 2986435

  1. В именах и путях файлов бывают пробелы?
  2. Файлы только txt или нет?
  3. Какие разделители в строках лога?
  4. Логи, судя по названию, новые каждый день. Туда идёт запись и днём и ночью? Насколько часто туда идёт записи? Это вопрос про переключение в полночь.

4inpekemon 10-06-2022 09:10 2986451

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

DJ Mogarych 10-06-2022 10:00 2986455

Код:

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

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


Время: 09:02.

Время: 09:02.
© OSzone.net 2001-