String.Join: métodos estáticos do .Net Framework no Powershell

Aqui vai algo legal: quando você tiver um vetor de strings, por exemplo, e quiser unir todos eles usando um separador, basta usar o método estático Join da classe String.

Vejam um exemplo no Powershell que eu pego todos os IPs de uma placa de rede e "grudo" todos eles usando espaços:

$ips = (get-wmiobject Win32_networkAdapterConfiguration | where {$_.ipEnabled}).ipaddress

[string]::join(' ',$ips)

O resultado é:

192.168.1.101 10.1.1.2

A idéia para usar métodos estáticos é bem simples... e igual a várias linguagens de programação: basta usar dois dois pontos.

Da próxima vou continuar falando sobre o WakeOnLan, comentando agora sobre como usar o WMI para obter o IP e o MAC Address das máquinas de uma rede para poder usar no script postado anteriormente, que liga computadores na rede à distância.

 

Até mais!

Categorias dessa postagem:

Comentários

Jeffrey Snover : You might want to experiement with $OFS. It works similar to JOIN but might make things a little more readable (maybe not).

[string]::join(' ',$ips)


"$ips"
$OFS="," ; "$ips"
$OFS=" ----- " ; $ips

Jeffrey Snover [MSFT]
Windows PowerShell/MMC Architect
Visit the Windows PowerShell Team blog at: http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at: http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx [14/1/07 16:15 - link]