我确定这最终将变得非常简单,但我无法弄清楚。
我正在编写一个脚本以读取CSV文件。然后,我有了一个循环,该循环对导入的CSV中的对象运行命令。但是,我收到的大量无关数据使我感到悲伤。
导入命令:
$fixme = Import-Csv C:\temp\scripts\rename_script\oldname1.csv -Header OldName,NewName
此文件的内容:
Computer1,Computer2
Computer3,Computer4
我想做的是能够调用$ fixme.OldName和$ fixme.NewName。问题是,这是我得到的输出:
$fixme
@{OldName=Computer1; Newname=Computer2}
@{OldName=Computer3; Newname=Computer4}
$fixme.OldName
[nothing]
$fixme.NewName
[nothing]
我在这里想念什么?
我还应该补充一点,这是测试数据,实际上我有数百行要遍历,我已经在工作,只是出于某种原因我无法弄清楚如何从此dang中传递正确的数据CSV。
答案 0 :(得分:0)
因此,在底部脚本中,您没有将 $ fixme 设置为相等。您应该将这些哈希表放入数组
$fixme = @(
@{OldName='Computer1'; Newname='Computer2'},
@{OldName='Computer3'; Newname='Computer4'}
)
$fixme | %{ $_.oldname }
$fixme | %{ $_.newname }
对于第一个脚本,我能够使其运行
$CSV = @"
Computer1,Computer2
Computer3,Computer4
"@
$fixme = $CSV | ConvertFrom-Csv -Header OldName, NewName
$fixme.OldName
$fixme.NewName