Я пытаюсь написать небольшую функцию Powershell, которая будет возвращать некоторые сводные данные из некоторых файлов журнала XML.Я написал короткую функцию суммирования:
function Summarize-Log( $log )
{
$obj = New-Object Object
$obj | Add-Member NoteProperty Date $log.lastwritetime
$obj | Add-Member NoteProperty Passed ([xml](get-content $log)).suite.passed
$obj | Add-Member NoteProperty NotImplemented ([xml](get-content $log)).suite.notImplemented
return $obj
}
Я думаю, что я смогу вызвать эту функцию следующим образом:
dir -recurse $logDirs | where { $_.name -eq "MyLog.xml" } | foreach{ Summarize-Log $_ }
Когда я вызываю ее так, кажется, чтоЖЕ номера из каждого прохода через цикл.Свойство Date является правильным, но два свойства, считываемые из XML, неверны, как если бы вызов get-content возвращал одни и те же данные независимо от входного параметра.
Как это исправить?
Прямо сейчас из кода видно, что весь файл будет прочитан дважды.Есть ли более эффективный способ получить эту информацию?