我有一个名为 $ restoreItems 的对象,该对象要过滤重复属性值并选择最新的属性值。
请先查看其成员以了解我正在使用什么:
为了能够检查重复项,我需要组合使用“ DirName”和“ LeafName”属性,因为这种组合可以构建完整的文件路径。
这是我的第一个问题。我无法将这两个属性结合起来并添加到该对象中。我试图像这样添加新成员:
$restoreItems | Add-Member -NotePropertyName fullPath -NotePropertyValue
($restoreItems.Dirname + '/' + $restoreItems.LeafName)
此命令运行良好,但在调用时
$restoreItems.fullPath
我收到一条错误消息,指出“数组尺寸超出了支持的范围。”
还有另一种方法可以将 $ restoreItems.Dirname +'/'+ $ restoreItems.LeafName 添加到对象吗?如果是这样,我可能可以根据其 DeletedDate 属性找到排除重复项的方法。
感谢您的帮助。
编辑:这是该对象的.GetType():
答案 0 :(得分:3)
您的声明
($restoreItems.Dirname + '/' + $restoreItems.LeafName)
构建一个包含所有目录名,字符串“ \”和所有叶名的数组。
您真正想要的是这样的东西:
$restoreItems | ForEach-Object {
$fullname = Join-Path $_.DirName $_.LeafName
$_ | Add-Member -Type NoteProperty -Name FullName -Value $fullname
}