我是PowerShell的新手,我正在尝试做其他语言(例如C#.NET和Java)中相当容易的事情。
我在做什么:
我需要访问这些数据行以通过作为参数传递来解析和执行数据的其他功能
$obj = Import-Csv $Name | Group-Object clientid, parentid, schoolid |
foreach-object {
$_.group |
sort-object clientid, parentid, schoolid |
select clientid, parentid, schoolid -last 1
}
foreach ( $row in $obj ) {
$_clientid = $row[0];
$_parentid = $row[1];
$_schoolid = $row[2];
Other-Function -client $_.clientid -parent $_.parentid -schoolid $_.schoolid
}
答案 0 :(得分:1)
由于您仅读取3列CSV或仅使用这3列,因此您可能希望简化很多内容:
Import-Csv $Name |
Select-Object clientid, parentid, schoolid -unique |
Foreach-Object {
Other-Function -client $_.clientid -parent $_.parentid -schoolid $_.schoolid
}
那我们在做什么?
(我喜欢Group-Object,并认为它没有被充分利用,但在这里并不必要,而且过于复杂;带有-Unique的Select-Object要简单得多。)
我们还可能想知道为什么您的“其他功能”使用3个单独的参数而不是对象,但这在某种程度上是一种样式选择。
让PowerShell为您完成(大部分)工作。