从CSV创建变量

时间:2014-11-23 02:23:18

标签: powershell csv

我有一个脚本,我想导入CSV并创建单独的变量。一个用于WindowsKey,另一个用于OfficeKey

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放入我稍后可以在脚本中使用的变量中?

2 个答案:

答案 0 :(得分:0)

你可以这样做:

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

然后您可以通过点表示法访问数据,例如

$csv.WindowsKey

请注意,如果您选择多个值,则属性包含数组而不包含字符串数据,因此您必须循环遍历它

此致

答案 1 :(得分:0)

另一种方法(如果您希望能够通过学校访问所有密钥)将为Windows和Office密钥创建2个哈希表:

$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]