2014-11-23 192 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]