通过计数将PowerShell中用户输入的数字转换为数组

时间:2015-10-07 17:10:25

标签: arrays powershell

我有一个PowerShell脚本,用于自动在SAN上创建卷。该脚本提示用户输入相关信息:卷数,卷大小和命名模式。接下来,它应该在阵列上运行命令以使用提供的信息创建卷。这是我被困的地方。现在,脚本要求用户指定要创建的卷数。例如,假设用户输入数字4.我坚持如何取4并使其成为数组1,2,3,4或7到1,2,3,4,5,6,7。也许有更简单的方法通过计数或其他功能来做到这一点。我是脚本新手,所以非常感谢任何帮助。

# Define the number of volumes to create
$num_vols = read-host "Please enter the number of volumes"

# Define naming pattern
$vol_name = read-host "Please enter the volume naming pattern"

我想要做的是创建一个基本上运行的函数:

# Run command to create volumes on array
foreach ($i in $num_vols){
    & "command to execute" $vol_name + $i
}

感谢您的建议。我现在正在使用:

# Run command to create volumes on array
foreach ($i in 1..$num_vols){
    & "command to execute" $vol_name"."$i
}

完美的作品!我现在可以创建名为VolName.1,VolName.2等的X卷,其中X是用户输入的卷数。

1 个答案:

答案 0 :(得分:2)

您可以使用范围运算符(..):

foreach ($i in 1..$num_vols) { ... }

或者像这样的范围运算符:

1..$num_vols | ForEach-Object { ... }

或者您可以使用传统的for循环:

for ($i = 0; $i -lt $num_vols; $i++) { ... }