
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"
スペースを含む列を処理するために列を引用符で囲んでいることに注意してください