在powershell中使用哈希表

我想创build一个应用程序,其中查找表(在Excel中)需要作为应用程序的input。 该查找表将脚本名称映射到其运行时间细节。 在我的应用程序中,我想访问与用户提供的脚本名称相关的运行时间。

代码:

$hash = @{} $xl = New-Object -COM "Excel.Application" $wb = $xl.Workbooks.Open("$data_path\Lookup_Table.xlsm") $ws = $wb.WorkSheets.Item(1) $ws.activate() $objRange = $ws.UsedRange $RowCount = $objRange.Rows.Count for ($k=0; $k -lt $RowCount; $k++) { $fullname = $ws.cells.item(2+$k,1) $time = $ws.cells.item(2+$k,2) $hash.Set_Item($fullname,$time) } $wb.Save() $wb.Close() $xl.Quit() [System.Runtime.Interopservices.Marshal]::ReleaseComObject($xl) Stop-Process -Name EXCEL -Force 

不过,$ hash并没有取值$hash.Get_Item($name)命令什么都不输出。 我厌倦了所有我知道的三种方法

  $hash[$fullname] = $time $hash.Add($fullname , $time) $hash.Set_Item($fullname,$time) 

可能是什么问题?