gpt4 book ai didi

powershell - 将数组转换为哈希表 Powershell

转载 作者:行者123 更新时间:2023-12-03 08:04:46 44 4
gpt4 key购买 nike

我有一个看起来像这样的数组:

 $items = @("Title    : 123456 
field_1 : User One
field_2 : User
field_3 : One
field_4 : 26
field_5 : J123456")

但是,我需要将值放在哈希表中,以便 add-pnplistitem 命令接受它。如何将此表转换为哈希表并被 PNP powershell 命令接受?

提前谢谢您!

最佳答案

Sage Pourpre's helpful answer 展示了如何将多行字符串逐行解析为有序哈希表,该哈希表保留输入字符串中遇到的键属性值的顺序。

不过,保留输入顺序的更简单替代方案是使用 ConvertFrom-StringData cmdlet,这需要将输入中的 : 分隔符替换为 = 以使 cmdlet 将输入行识别为键值对:

$items = @("Title    : 123456 
field_1 : User One
field_2 : User
field_3 : One
field_4 : 26
field_5 : J123456")

ConvertFrom-StringData ($items -join "`n" -replace ':', '=')

注意:

  • -join "`n" 将数组元素与换行符连接起来,形成单个多行字符串以传递给 ConvertFrom-StringData;在您的情况下,鉴于只有 一个 元素,该元素(本身就是一个多行字符串)将按原样返回。

  • 正如 zett42 指出的那样,ConvertFrom-StringData\ 视为转义字符,因此如果逐字 \ 在您的输入中,您必须首先将它们加倍,并用 -replace '\\', '\\' (原文如此)。

输出([hashtable],带有无序条目):

Name                           Value
---- -----
field_3 One
field_4 26
field_2 User
Title 123456
field_1 User One
field_5 J123456

关于powershell - 将数组转换为哈希表 Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72762570/

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