title:powershell forloop with array and hash?
我知道如何在perl和unixshell中执行此操作。我没有在powershell中看到它。所以我会问。
我会保持简单的问题。 如果我有一个列表,我想做一个哈希,其中键是列表的元素,值是属性。
就像我有一组7个矮人服务器一样
$d = ( "happy", "sleepy", "sneezy", "doc", "grumpy", "dopey", "bashful" )
我想要以英寸为单位哈希:d_height{ "happy" } = "40"
....如果你想要它的更多细节..... 我从powershell开始,然后恢复到perl因为我知道。
我有一组7个矮人服务器
$d = ( "happy", "sleepy", "sneezy", "doc", "grumpy", "dopey", "bashful" )
foreach ( $one ( 0 .. ( $d.count - 1 ))){
$d[ $one ]
}
好的..很好。现在我想要启动时间。 我已经知道了这个命令。所以只是假装就是这样。
$boottime = server.blahblah
现在我恢复到perl,因为我知道它。 (叹息)
foreach ( @d ){
$boottime = $d[ $one ].blahblah ;
if ( $boottime =~ "AM $" or $boottime =~ "PM $" ){
$d_height{ $d } = $boottime;
}
$d_height{ $d } = "unknown";
}
现在我已经使用了破坏的代码,其余部分就是这样。我去了perl。
foreach $x ( keys( %d_height )){
printf("%-20s %03d", $x, $d_height{ $x } );
}
我知道....格式表格@{ hash stuff }
是的...很好。
但那是perl ....
我怎么能在powershell中做到这一点?
答案 0 :(得分:1)
我认为我的回答比问题更容易。而且我认为这不应该是服务器故障。它应该在编程部分。哦。这是答案。
$A = ("one","two","three")
PS:C:\> foreach( $one in ( $A)){
>> $one
>> }
>>
one
two
three
PS:C:\>
PS:C:\>$B=@{}
PS:C:\>foreach ( $one in $A ){
>> $B.$one = "preset"
>> }
>>
PS C:\> $B
Name Value
---- -----
two preset
three preset
one preset
那就是它。除了幽默,我本不应该提到矮人。