Анализ файла журнала RoboCopy


1

Можно ли проанализировать текстовый файл журнала, выведенный из RoboCopy, и извлечь строки, которые определены как «Новый каталог» и «Дополнительный каталог»?

Я хотел бы, чтобы строка из журнала содержала все детали, возвращенные относительно этого "New Dir" или "Extra Dir"

Причина выполнения этой задачи - понять, как со временем меняются две структуры папок. Одна версия была сохранена внутри материнской компании, вторая использовалась консультантом.

Для вашей информации я использую Windows 7.

Ответы:


1

Используйте следующую строку PowerShell :

Get-ChildItem C:\robocopy-log.txt | Select-String -Pattern '(New Dir)|(Extra Dir)'


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

Get-ChildItem C:\robocopy-log.txt | Select-String -Pattern '(New Dir)|(Extra Dir)' | ForEach-Object {$_.Line}


Похоже, код запускается и сразу возвращается к исходной букве диска H: \>? Нужен ли какой-то дополнительный код для записи вывода в отдельный текстовый файл?
BobJim

@BobJim Да. Просто перенаправьте вывод в файл следующим образом:Get-ChildItem C:\robocopy-log.txt | Select-String -Pattern '(New Dir)|(Extra Dir)' > results.txt
Джош

Я пытался использовать '| Get-Process | Out-File C: \ results.txt. ' Мой метод выглядит намного сложнее. Используя ваш метод, он создает текстовый файл, но он пустой ???
BobJim

1
Используя код, который я разместил, и образец текстового файла, я могу отфильтровать соответствующие строки. Вы пытались запустить команду в командной строке PowerShell, чтобы увидеть, какие результаты вы получите?
Джош

1
Попробуйте Get-ChildItem C:\robocopy-log.txt | Select-String -Pattern '(New Dir)|(Extra Dir)' | ForEach-Object {$_.Line}отфильтровать имя файла и номера строк.
Джош
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.