2012-02-15 62 views
0

我有許多日誌文件,它將有代碼計數。如何在散列中存儲文件名和提取內容?

我想讀取文件並獲取代碼計數從它,然後存儲在哈希表類似如下

文件名[不帶擴展名] = Codecount

對於前:

器Comp1 = 65652 Comp2 = 54654

我已經按照以下方法提取了代碼數並將其存儲在數組中。

[email protected]() 
[email protected]() 

     $Totallinesver2+=Get-ChildItem -Path $CCountFolder -Recurse | Foreach { Get-Content $_.FullName | Select-string -simplematch "Total Lines (version 2)" }` 

    Foreach ($line in $Totallinesver2) { $Count+= $($line -replace "Total Lines \(version 2\)  : ","").Trim()} 

通過上面的方式,我無法處理單個數組中的codecount和文件名。如果它存儲在散列表中,則會更容易。如何在密鑰中讀取文件名並將代碼數存儲在值中?

回答

1
[email protected]{} 

    Get-ChildItem -Path $CCountFolder -Recurse | 
    Foreach { 
    $line_string = select-string $_.fullname -simplematch -pattern "Total Lines (version 2)" -list 
    $lines = ($line_string.line -replace "Total Lines \(version 2\)  : ","").Trim() 
    $count[$_.name] = $lines 
    } 

    $count 
+0

編譯問題好友。在語句塊中缺少關閉'}'。 – Samselvaprabu 2012-02-15 12:17:30

+0

已編輯。父母失去平衡。 – mjolinor 2012-02-15 12:30:09

+0

此方法無效。它會引發錯誤。 「找不到路徑'E:\ Myfolder \ Total Lines(version 2)',因爲它不存在」我認爲你沒有從文件中讀取內容。沒有提到的地方。你能否相應地更新答案 – Samselvaprabu 2012-02-23 12:17:44

相關問題