我用谷歌搜索了一段时间,但没有找到解决问题的方法。 我不得不说我是 Powershell 的新手。
我想创建以下数组 $a = (A,B,C,D) 其中 A = 1 串(始终) B = 1 串(始终) C = 未定义的字符串数量。我需要能够动态添加元素 D = 未定义的字符串数量。我需要能够动态添加元素(与 C 的数量相同)
这可能吗? 数组的 2 个元素的示例
("WSTM0123456", "192.168.10.155",("WSTM8765421","WSTM9856454","WSTM1289765"),("192.36.36.36", "187.25.25.25","192.69.89.65") )
("WLDN1251254", "156.25.36.54", ("WLDN1234512", "WLDN9865323"), ("187.154.12.12","163.136.25.98"))
我事先不知道 C 和 D 中有多少元素,并且我必须使用 for 循环在位置 C 和 D 中附加字符串。
范围:将多个共同的字符串(C 和 D)分组到同一字符串(A/B)下。
如有任何帮助,我们将不胜感激
谢谢, 马可
最佳答案
您可以做到这一点,但这可能会非常痛苦,因为在 PowerShell 中处理数组有时会因为大量隐式扁平化而变得很麻烦。
我建议为此创建一个自定义类型。然后,您还可以为各个部分指定有用的名称(我不知道您在这里所做的事情的目的,所以我在这里编造名称。请随意更改):
$properties = @{
Name = 'WSTM0123456';
IP = [ipaddress]'192.168.10.155';
ListOfNames = @("WSTM8765421","WSTM9856454","WSTM1289765");
ListOfIPs = [ipaddress[]]@("192.36.36.36", "187.25.25.25","192.69.89.65")
}
$foo = New-Object PSObject -Property @properties
然后您可以简单地附加新项目,如下所示:
$foo.ListOfNames += 'AnotherName'
关于Powershell - 使用多维数组存储数据 - 需要建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4935099/