我正在嘗試的是使用哈希表(來自數據庫的用戶信息)數組篩選csv文件(恰好是weblog)。通過哈希表數組篩選csv文件
#$data is from a database. (about 500 items) Type: System.Data.DataTable
$users = @()
foreach($row in $data)
{
$userItem = @{
LoginId = $row[0]
LastName = $row[3]
FirstName = $row[4]
LastAccess = $null
}
$users += $userItem
}
#Log files are about 14,000 lines long
$logfiles = Get-ChildItem $logFolder -Recurse | where {$_.Extension -eq ".log"} | Sort-Object BaseName -Descending
foreach($log in $logfiles)
{
$csvLog = Import-Csv $log.FullName -Header ("Blank","LoginId","Date")
$u = $users | Select {&_.LoginId}
$filteredcsvLog = $cvsLog | Where-Object { $u -contains $_.LoginId}
#This returns null
....
}
這似乎不起作用,我錯過了什麼。我的猜測是,我需要將數組變成[string []],但我似乎無法做到這一點。
,我注意到的第一件事情: $ data是CSV嗎?我沒有看到任何實際上將$ row分割成數組的情況。 – EBGreen 2012-04-04 16:39:28
@Data來自一個返回System.Data.DataTable的函數,我循環它們只是爲了拉出相關數據並將其放置在HashTable中 – chris 2012-04-04 16:44:44