powershell哈希从数组构建

时间:2016-04-05 23:01:04

标签: powershell perl hash

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中做到这一点?

1 个答案:

答案 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

那就是它。除了幽默,我本不应该提到矮人。

相关问题