gpt4 book ai didi

Powershell:使用 Powershell 将列表输出转换为对象数组或类似的东西

转载 作者:行者123 更新时间:2023-12-02 22:59:31 24 4
gpt4 key购买 nike

我知道如何通过 PSObjects 将哈希表、数组等从 Powershell 返回到 c#。为了使用它,我需要从 Powershell 脚本返回一个对象 - 而不仅仅是列出输出。

但是我怎样才能从 Powershell 中的列表获得结构化的东西,我可以从 Powershell 脚本返回?

想想这个简单的场景(出于示例目的):

Get-ChildItem C:\Test

我得到类似这样的输出:

PS C:\test> Get-ChildItem

Directory: C:\test

Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 03.06.2013 14:59 6 test1.txt
-a--- 03.06.2013 14:59 5 test2.txt

现在我想获取每个文件的名称和长度属性并将其作为某种对象从 powershell 脚本返回,我可以使用 C# 进行处理。

我可以从 C# 处理的示例如下:

$a = New-Object psobject -Property @{
Name = "test1.txt"
Age = 6
}

$b = New-Object psobject -Property @{
Name = "test2.txt"
Age = 5
}

$myarray = @()

$myarray += $a
$myarray += $b

Return $myarray

如何从 Get-ChildItem(或提供列表的类似内容)获取对象数组或类似内容?

请注意,这与 Get-ChildItem 无关,它只是用作输出列表的示例。

最佳答案

应该这样做:

$arr = Get-ChildItem | Select-Object Name,Length
return $arr

如果由于某种原因它不起作用,请尝试将数组嵌套在一个数组元素中(使用逗号运算符)

return ,$arr

关于Powershell:使用 Powershell 将列表输出转换为对象数组或类似的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16897554/

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