PowerShell で foreach を使用せずにコンピュータ名の番号付きリストを生成する

PowerShell で foreach を使用せずにコンピュータ名の番号付きリストを生成する

Don Jones が気に入ってくれるように、foreach を使用せずに、次のようにコンピューターの番号付きリストを生成する方法があるかどうか疑問に思っています。

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

関連情報