如何使一系列数字仅打印为两位数?
How do I make a range of numbers print off only as double digits?
我需要能够仅将一系列数字打印为两位数。例如,01,02,03,04...10,11
。
这是我正在尝试的脚本:
# Define a range's upper bound dynamically (IRL via user input)
$upperBound = 18
# Create an array of numbers (indices).
1..$upperBound
我尝试按照上述网站所述使用“{0:D2}”,但出现错误 "Cannot convert value":
1.."{0:D2}" -f $upperBound
这个我也试过了;
"{0:D2}" -f $upperBound
但是,这只显示输入的一个数字,而不是整个范围。例如,如果我输入 2,我将得到 02。我希望它显示 01,02。
除此之外,我希望此范围显示在服务器名称旁边。我有一个服务器列表,这个范围必须附加到服务器名称。示例:
server01
server02
范围运算符 (..
) 仅对 numbers 作为端点进行操作;为了格式化结果数组,您必须对 ..
:
创建的数组元素应用 post-processing
注意:下面的示例输出假定 $upperBound
的值为 3
。
使用 PSv4+ 语法:
PS> (1..$upperBound).ForEach({ '{0:D2}' -f $_ })
01
02
03
在 PSv3- 中,使用:
foreach ($ndx in 1..$upperBound) { '{0:D2}' -f $ndx } # same output as above.
要使格式化的 "number strings" 成为服务器名称的一部分:
PS> (1..$upperBound).ForEach({ 'server{0:D2}' -f $_ })
server01
server02
server03
为了创建 list 名称作为带有分隔符的单个字符串,请使用 -join
运算符结果数组:
PS> (1..$upperBound).ForEach({ 'server{0:D2}' -f $_ }) -join ','
server01,server02,server03
在 PSv3-:
$(foreach ($ndx in 1..$upperBound) { 'server{0:D2}' -f $ndx }) -join ','
$upperbound = 18
$totalArray = 1..$upperbound | foreach {$_.tostring('00')}
foreach ($server in (cat serverlist.txt)) {
$totalarray | foreach {"$server$_"}
}
将 00 替换为您希望 0 占多少位
0 = 1,2,3 等..
00 = 01、02、03 等...
000 = 001、002、003 等等
如果你想用逗号在一行中显示服务器数字,你可以这样做
$totalArray -join ','
我需要能够仅将一系列数字打印为两位数。例如,01,02,03,04...10,11
。
这是我正在尝试的脚本:
# Define a range's upper bound dynamically (IRL via user input)
$upperBound = 18
# Create an array of numbers (indices).
1..$upperBound
我尝试按照上述网站所述使用“{0:D2}”,但出现错误 "Cannot convert value":
1.."{0:D2}" -f $upperBound
这个我也试过了;
"{0:D2}" -f $upperBound
但是,这只显示输入的一个数字,而不是整个范围。例如,如果我输入 2,我将得到 02。我希望它显示 01,02。
除此之外,我希望此范围显示在服务器名称旁边。我有一个服务器列表,这个范围必须附加到服务器名称。示例:
server01
server02
范围运算符 (..
) 仅对 numbers 作为端点进行操作;为了格式化结果数组,您必须对 ..
:
注意:下面的示例输出假定 $upperBound
的值为 3
。
使用 PSv4+ 语法:
PS> (1..$upperBound).ForEach({ '{0:D2}' -f $_ })
01
02
03
在 PSv3- 中,使用:
foreach ($ndx in 1..$upperBound) { '{0:D2}' -f $ndx } # same output as above.
要使格式化的 "number strings" 成为服务器名称的一部分:
PS> (1..$upperBound).ForEach({ 'server{0:D2}' -f $_ })
server01
server02
server03
为了创建 list 名称作为带有分隔符的单个字符串,请使用 -join
运算符结果数组:
PS> (1..$upperBound).ForEach({ 'server{0:D2}' -f $_ }) -join ','
server01,server02,server03
在 PSv3-:
$(foreach ($ndx in 1..$upperBound) { 'server{0:D2}' -f $ndx }) -join ','
$upperbound = 18
$totalArray = 1..$upperbound | foreach {$_.tostring('00')}
foreach ($server in (cat serverlist.txt)) {
$totalarray | foreach {"$server$_"}
}
将 00 替换为您希望 0 占多少位
0 = 1,2,3 等..
00 = 01、02、03 等...
000 = 001、002、003 等等
如果你想用逗号在一行中显示服务器数字,你可以这样做
$totalArray -join ','