gpt4 book ai didi

powershell - 比写主机更好的打印对象的方法

转载 作者:行者123 更新时间:2023-12-04 14:37:18 25 4
gpt4 key购买 nike

我使用 Write-Host 分析对象,但有时很难理解对象究竟是什么。

考虑:

Write-Host $null
Write-Host @()
Write-Host @($null, $null)

打印:
# Actually it prints nothing

我想要这样的东西:
Null
@()
@(Null, Null)

有什么建议?

最佳答案

对于这个特定示例,您可以通过将它们粘贴到对象的属性中来轻松获得所需的内容。举个例子,让我们创建一个包含三个测试的数组:

$tests = @($null,@(), @($null,$null))

function Write-Visible {
param($InputObject)

New-Object PSObject -Property @{ Object=$InputObject } |
Out-String | Out-Host
}

当然, Out-String | Out-Host东西只是为了确保我们实际上不会将对象输出到管道,而是像 Write-Host 那样表现。

所以现在我们可以运行我们的测试:
PS> Write-Visible $tests[0]

Object
------


PS> Write-Visible $tests[1]

Object
------
{}


PS> Write-Visible $tests[2]

Object
------
{$null, $null}

当然,问题在于它对于真实对象往往不太适用,因为它将它们转换为对象的属性,在那里它们被渲染为“ToString()”……然而,在我的脑海中,我想不出如何在没有新对象的情况下调用发生在那里的渲染魔法。

关于powershell - 比写主机更好的打印对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/786741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com