
我正在嘗試將 contig.exe 的輸出檔案解析為逗號分隔值檔案。我開發了一種方法來執行此操作,即 Notepad++,但考慮到我必須解析的檔案數量(數百個文字檔案),我希望有一種使用命令列或 PowerShell 的自動化方法。
例如,我想把這個:
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
……到這個:
E:\$Mft,80309 fragments
E:\$Mft::$BITMAP,2202 fragments
有任何想法嗎?謝謝!
答案1
在 powershell 中,您只需使用運算子套用正規表示式-match
,然後輸出用逗號分隔的每個符合項目:
contig.exe | foreach-object{ if($_ -match "(.*) is in (.*)") {"`"$($Matches[1])`",`"$($Matches[2])`""}}
輸出:
"E:\$Mft","80309 fragments"
"E:\$Mft::$BITMAP","2202 fragments"
請注意,我已用引號將列括起來,以處理帶有空格的列