Toggle 2 Variables (Powershell)

I have a list of 20 servers: server1, server2, server3, server4, ... server20.

I need to have an array of "servers" containing these 20 servers, something like:

$prefix = "server" $number = "1..20" $servers = $prefix+number 

My expected result: $servers="server1","server2","server3",...,"server20"

Thanks in advance

+4
source share
4 answers

The easiest way is to simply write it directly:

 $servers = 1..20 | ForEach-Object { "server$_" } 
+3
source

Change your last line to:

 $Servers = @() $Number | % {$servers=$servers + "$prefix$_"} 

The first line indicates $servers as an array (otherwise it will be concatenated as a long string).

The second line will go through all the numbers in your $number array and make an entry for each of them.

+1
source

Using format string

 $prefix = "Server" 1..20 | foreach {"$prefix{0}" -f $_} 

You can also use $ prefix {0: d2} if you want all of them to have 2-digit (zero filled) numbers after the prefix.

+1
source
 $null, $servers = 0..20 -join ';server' -split ';' $servers 
0
source

Source: https://habr.com/ru/post/1394190/


All Articles