gpt4 book ai didi

powershell - Powershell数组数组循环过程

转载 作者:行者123 更新时间:2023-12-03 00:51:41 30 4
gpt4 key购买 nike

我需要循环处理数组数组的帮助。我终于想出了如何做的方法,我就是这样做的。

$serverList = $1Servers,$2Servers,$3Servers,$4Servers,$5Servers

$serverList | % {
% {
Write-Host $_
}
}

我无法正确处理。我想做的是从每个数组创建一个CSV,并相应地命名列表。因此1Servers.csv,2Servers.csv等...我不知道的事情是如何将原始数组名称转换为文件名。是否存在一个变量,该变量包含可以在循环中访问的列表对象名称?我是否只需要为每个列表做一个单独的循环?

最佳答案

你可以试试 :

$1Servers = "Mach1","Mach2"
$2Servers = "Mach3","Mach4"
$serverList = $1Servers,$2Servers
$serverList | % {$i=0}{$i+=1;$_ | % {New-Object -Property @{"Name"=$_} -TypeName PsCustomObject} |Export-Csv "c:\temp\$($i)Servers.csv" -NoTypeInformation }

我获取每个列表,然后创建要导出为CSV文件的新对象。我创建文件名的方式不是很好,我不会使用var名称,而只是重新创建它,因此如果您的列表未排序,它将无法正常工作。

如果将服务器存储在哈希表中,可能会更有效:
$1Servers = @{Name="1Servers"; Computers="Mach1","Mach2"}
$2Servers = @{Name="2Servers"; Computers="Mach3","Mach4"}
$serverList = $1Servers,$2Servers
$serverList | % {$name=$_.name;$_.computers | % {New-Object -Property @{"Name"=$_} -TypeName PsCustomObject} |Export-Csv "c:\temp\$($name).csv" -NoTypeInformation }

关于powershell - Powershell数组数组循环过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24314498/

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