【发布时间】:2016-04-07 22:45:00
【问题描述】:
标题:带有数组和哈希的 powershell forloop?
我知道如何在 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 中做到这一点?
【问题讨论】:
-
矮人的身高等于服务器的启动时间?什么?
-
我有一个列表@A。我想要一个哈希,其中哈希的键是@A。我可以解释我是否像这样对所有内容进行硬连线:
@A = ("1","2","3") $H{"1"}="apples" $H{"2"}="unset" $H{"3"}="tomato"不是硬连线,而是通过一些 powershell 命令即时构建@A。我想动态构建 %H 哈希的键。 (我的问题)。那么我如何使用 %H 的键为 @A 即时构建 %H 哈希?
标签: powershell perl hash