Powershell中不存在特定对象属性时如何删除条目?
Posted
技术标签:
【中文标题】Powershell中不存在特定对象属性时如何删除条目?【英文标题】:How to delete entries when a specific object property does not exists in Powershell? 【发布时间】:2021-12-22 01:45:17 【问题描述】:例如,在下面的 PSCustomObject 中,我希望删除不存在 TagName 的对象
$dataset1 = @(
@
MachineName = "AAA"
ID = "111"
TagName = "GroupA"
,
@
MachineName = "BBB"
ID = "222"
TagName = "GroupB"
,
@
MachineName = "CCC"
ID = "111"
TagName = ""
,
@
MachineName = "DDD"
ID = "333"
TagName = ""
,
@
MachineName = "EEE"
ID = "111"
TagName = ""
因此,删除后 $dataset1 应包含以下内容:
$dataset1 = @(
@
MachineName = "AAA"
ID = "111"
TagName = "GroupA"
,
@
MachineName = "BBB"
ID = "222"
TagName = "GroupB"
【问题讨论】:
为什么只是$dataset1 | where $_.TagName -ne ""
?
【参考方案1】:
您可以使用Where-Object
(或别名where
)。 Where-Object
返回脚本块语句为真的所有对象
$dataset1 = $dataset1 | Where-Object $_.TagName
【讨论】:
以上是关于Powershell中不存在特定对象属性时如何删除条目?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 iOS 的另一个 nsarray 中不存在的核心数据中删除对象?
如何防止 Hibernate 删除 JSON 帖子中不存在的子对象?
如何使用 PowerShell 递归删除具有特定名称的文件夹?