【发布时间】:2017-09-04 09:23:21
【问题描述】:
我无法理解如何在对象中追加或更新数据
所以假设我有一个带有数据的对象,在运行此命令后,我想添加到模式中的对象的模式如下所示
$testdata | Format-Custom -Property * -Depth 6
PSCustomObject 类
{
会话 =
[
PSCustomObject 类
{
类型 = 当前
生成 = 2017-08-31T09:02:55.251Z
窗户=
[
PSCustomObject 类
{
编号 = 770
隐身=假
标签 =
[
PSCustomObject 类
{
活跃=真
编号 = 771
隐身=假
标题 = 订阅 - YouTube
网址 = https://www.youtube.com/feed/subscriptions
窗口 ID = 770
}
PSCustomObject 类
{
活跃 = 假
编号 = 776
隐身=假
标题 = 过度讽刺的作品 - YouTube
网址 = https://www.youtube.com/user/RedEyesTakeWarning/videos
窗口 ID = 770
}
]
}
PSCustomObject 类
{
编号 = 773
隐身=假
标签 =
[
PSCustomObject 类
{
活跃 = 假
编号 = 774
隐身=假
标题 = 技术 - Google 新闻
网址 = https://news.google.com/news/headlines/section/topic/TECHNOLOGY?ned=us&hl=en
窗口 ID = 773
}
PSCustomObject 类
{
活跃 = 假
编号 = 806
隐身=假
title = Microsoft PowerShell 是黑客的热门目标,但其防御能力正在改善 |有线
网址 = https://www.wired.com/story/microsoft-powershell-security/
窗口 ID = 773
}
...
]
}
]
}
]
}
假设我想在 windows 中添加一个 ID 为 770 的新选项卡 新标签的 title 将是 yahoo,url 将是 https://yahoo.com 和 id 将是 9001
如何将新条目添加到选项卡中而无需重新创建整个对象?
【问题讨论】:
-
请退后一步,描述您要解决的实际问题,而不是您认为的解决方案。
-
好吧,通常当你追加say...比如数组或哈希时,你使用
+=或$hash.add(something, $something),我不明白你将如何在特定对象中添加数据对象。 ..因为我不能只去($testdata.sessions.windows.Where({$_.id -eq 770}).tabs) += $newtabobject,因为当我尝试它时它似乎不起作用,尽管它与其他选项卡对象的设置相同 -
你是如何创建
$testdata对象的? -
它只是一个 json 文件的导入 ...
$testdata = Get-content $file | Convertfrom-json... 是我在这里运行的...。我不创建方案,也不想...它需要保持原样
标签: powershell object append updating