如何在哈希中存储文件名和提取的内容?

时间:2012-02-15 11:32:20

标签: powershell powershell-v2.0

我有很多日志文件,它会有代码计数。

我想读取文件并从中获取代码计数,然后将其存储在哈希表中,如下所示

fileName [without extension] = Codecount

例如:

Comp1 = 65652 Comp2 = 54654

我已按照以下方式获取代码计数并将其存储在数组中。

$Totallinesver2=@()
$Count=@()

      $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和filename。如果它存储在哈希表中,那将更容易。如何在Key中读取文件名并将值存储在值中?

1 个答案:

答案 0 :(得分:1)

$Count=@{}

  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