wygeneruj numerowaną listę nazw komputerów bez foreach w PowerShell


0

Zastanawiam się tylko, czy istnieje sposób na wygenerowanie takiej listy komputerów bez użycia foreach, aby Don Jones mnie polubił:

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

Dane wyjściowe wyglądają następująco:

 COMPUTER01
 COMPUTER02
 COMPUTER03

Dziwię się, że nie możesz użyć parametru skryptu:

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

EDYTOWAĆ:

W rzeczywistości możesz użyć bloku skryptu z dowolnym parametrem, który czyta potok, więc dla mnie foreach jest rodzajem miejsca na blok skryptu:

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

A oto sposób na wypełnianie zer:

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

Dlaczego nie chcesz używać foreach? Czy to zadanie domowe?
LPChip

Często w PowerShell można przesuwać listę obiektów lub określać listę jako parametr. I sprawia, że ​​Don Jones umiera trochę w środku: windowsitpro.com/blog/foreach-makes-me-die-little-inside
js2010

2
Dziwi mnie, że nie przeczytałeś komunikatu o błędzie lub Get-Help Write-Outputjeśli chcesz, aby był prosty w użyciu1..3 -replace '^','COMPUTER0'
LotPings

To jest dobre. Nawet nie zdawałem sobie sprawy, że operator zastępowania może pracować na liście.
js2010

Wymyśliłem ten do przesłania do nowego-adkomputera pod właściwością „name”: 1..3 | select @{name='name'; expression = {"computer0$_"}}
js2010,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.