2014-11-23 188 views
1

我有一個腳本,我想導入CSV並創建單獨的變量。一個用於WindowsKey的,另一個用於OfficeKey從CSV創建變量

CSV看起來像:

School, WindowsKey, OfficeKey 
Saints, BBBB-BBBB, XXXX-XXXX 
Bears, YYYY-YYYY, ZZZZ-ZZZZ 

的腳本的一部分:

$School = "Saints" 
(Import-Csv k:\Keys.csv) | Where-Object {$_.School -eq $School} 

這將使表看起來像這樣:

School : Saints 
WindowsKey: BBBB-BBBB 
OfficeKey : XXXX-XXXX 

我該如何着手將WindowsKeyOfficeKey變成變量我可以在腳本中稍後使用嗎?

回答

0

你可以這樣說:

$csv = Import-Csv k:\keys.csv | Where-Object {$_.School -eq $School} 

那麼你可以通過點號訪問數據,例如

$csv.WindowsKey 

注意,屬性包含數組,而不是字符串數據,如果你選擇多個值,所以你必須通過它循環

關注

+0

這完美的作品! – John 2014-11-23 04:44:07

0

另一種方法(如果你希望能夠通過學校訪問所有鍵)將創建2個哈希表的Windows和Office鍵:

$csv = Import-Csv 'K:\Keys.csv' 

$windowsKeys = @{} 
$officeKeys = @{} 
$csv | % { 
    $windowsKeys[$_.School] = $_.WindowsKey 
    $officeKeys[$_.School] = $_.OfficeKey 
} 

然後你就可以訪問鍵爲每所學校是這樣的:

$school = 'Bears' 
"Windows Key ({0}): {1}" -f $school, $windowsKeys[$school] 
"Office Key ({0}): {1}" -f $school, $officeKeys[$school]