Analysieren Sie die Ausgabe von contig.exe mithilfe der Befehlszeile oder PowerShell in *.csv

Analysieren Sie die Ausgabe von contig.exe mithilfe der Befehlszeile oder PowerShell in *.csv

Ich versuche, die Ausgabedatei von contig.exe in eine durch Kommas getrennte Wertedatei zu analysieren. Ich habe eine Methode dafür entwickelt, nämlich Notepad++, aber angesichts der Anzahl der zu analysierenden Dateien (Hunderte von Textdateien) hätte ich gerne eine automatisierte Methode, die entweder die Befehlszeile oder PowerShell verwendet.

Ich würde zum Beispiel gerne Folgendes umstellen:

Contig v1.7 - Makes files contiguous
Copyright (C) 1998-2012 Mark Russinovich
Sysinternals - www.sysinternals.com


Processing E:\$Mft...
E:\$Mft is in 80309 fragments

Processing E:\$Mft::$BITMAP...
E:\$Mft::$BITMAP is in 2202 fragments

Summary:
     Number of files processed   : 2
     Average fragmentation       : 41255.5 frags/file

...das mögen:

E:\$Mft,80309 fragments
E:\$Mft::$BITMAP,2202 fragments

Irgendwelche Ideen? Danke!

Antwort1

In Powershell wenden Sie einfach Ihren regulären Ausdruck mit dem -matchOperator an und geben dann jede Übereinstimmung durch Kommas getrennt aus:

contig.exe | foreach-object{ if($_ -match "(.*) is in (.*)") {"`"$($Matches[1])`",`"$($Matches[2])`""}} 

Ausgabe:

"E:\$Mft","80309 fragments" 
"E:\$Mft::$BITMAP","2202 fragments"

Beachten Sie, dass ich die Spalten in Anführungszeichen gesetzt habe, um Spalten mit Leerzeichen zu behandeln

verwandte Informationen