在 powershell 中无需 foreach 即可生成计算机名称的编号列表

在 powershell 中无需 foreach 即可生成计算机名称的编号列表

只是想知道是否有办法在不使用 foreach 的情况下生成这样的计算机编号列表,以便 Don Jones 能够像我一样:

1..3 | foreach { "COMPUTER0$_" }

输出如下所示:

 COMPUTER01
 COMPUTER02
 COMPUTER03

我很惊讶你不能使用脚本参数:

1..3 | write-output { write-output "COMPUTER0$_" }

编辑:

实际上,你可以使用带有任何读取管道的参数的脚本块,所以对我来说 foreach 是一种脚本块的占位符:

1..3 | write-output -inputobject { "COMPUTER0$_" }

以下是填充零的一种方法:

1..24 | write-output -inputobject { 'computer{0:d2}' -f $_ }

评论里的答案:

1..3 -replace '^','COMPUTER0'

这是填充零的另一种方法,但使用 foreach 的短版本和 .tostring() 的整数版本:

1..100 | % tostring COMP000

相关内容