Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Перемещение файла по названию из лога с ошибкой

Ответить
Настройки темы
PowerShell - [решено] Перемещение файла по названию из лога с ошибкой

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день,

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

Отправлено: 13:00, 09-06-2022

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6705
Благодарности: 1576

Профиль | Отправить PM | Цитировать


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

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 17:31, 09-06-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 09:10, 10-06-2022 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6705
Благодарности: 1576

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
gc (dir "C:\test\Audit-*.txt" |sort name |select -Last 2) |% {
    if (test-path ($file = "$($_.split()[6])")) {
        mv "$file" "C:\test\out" -WhatIf
    }
}
Уберите -WhatIf, чтобы реально перемещало.
Скрипт надо добавить в планировщик задач и настроить частоту запуска.
Скрипт просматривает два последних лога по имени.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:00, 10-06-2022 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Перемещение файла по названию из лога с ошибкой

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Скрипт копирования файла по названию из даты Stolc Скриптовые языки администрирования Windows 3 27-11-2020 16:08
CMD/BAT - [решено] Сделать задержку, размер которой определить по названию файла Alexander_88 Скриптовые языки администрирования Windows 7 08-07-2018 19:11
CMD/BAT - [решено] Перемещение файлов по путям из текстового файла laden2009 Скриптовые языки администрирования Windows 6 03-04-2016 19:33
CMD/BAT - [решено] переименование директории по названию файла в ней shmel_sv@vk Скриптовые языки администрирования Windows 4 23-03-2015 21:25
CMD/BAT - [решено] Копирование файла по его начальному названию (Маске) idlazarev_alex@vk Скриптовые языки администрирования Windows 3 16-08-2014 22:35




 
Переход