$ OFS - output field separator. Una manera práctica para especificar cómo se separan los elementos de matriz cuando se representa en una cadena:
PS> $OFS = ', '
PS> "$(1..5)"
1, 2, 3, 4, 5
PS> $OFS = ';'
PS> "$(1..5)"
1;2;3;4;5
PS> $OFS = $null # set back to default
PS> "$(1..5)"
1 2 3 4 5
Always guaranteeing you get an array result. Tenga en cuenta este código:
PS> $files = dir *.iMayNotExist
PS> $files.length
$ archivos en este caso pueden ser $ null, un valor escalar o una matriz de valores. $ files.length no le proporcionará la cantidad de archivos encontrados para $ null o para un solo archivo. ¡En el caso de archivo único, obtendrá el tamaño del archivo! Siempre que no estoy seguro de la cantidad de datos voy a volver yo siempre incluyo el comando en una subexpresión gama de este modo:
PS> $files = @(dir *.iMayNotExist)
PS> $files.length # always returns number of files in array
luego $ archivos siempre será una matriz. Puede estar vacío o tener solo un elemento pero será ser una matriz. Esto hace que el razonamiento con el resultado sea mucho más simple. apoyo covarianza
Matriz:
PS> $arr = '127.0.0.1','192.168.1.100','192.168.1.101'
PS> $ips = [system.net.ipaddress[]]$arr
PS> $ips | ft IPAddressToString, AddressFamily -auto
IPAddressToString AddressFamily
----------------- -------------
127.0.0.1 InterNetwork
192.168.1.100 InterNetwork
192.168.1.101 InterNetwork
Comparing arrays using Compare-Object:
PS> $preamble = [System.Text.Encoding]::UTF8.GetPreamble()
PS> $preamble | foreach {"0x{0:X2}" -f $_}
0xEF
0xBB
0xBF
PS> $fileHeader = Get-Content Utf8File.txt -Enc byte -Total 3
PS> $fileheader | foreach {"0x{0:X2}" -f $_}
0xEF
0xBB
0xBF
PS> @(Compare-Object $preamble $fileHeader -sync 0).Length -eq 0
True
Fore más cosas como esta, echa un vistazo a mi libro electrónico gratuito - Effective PowerShell.
Andy, ¿está restringiendo esto a PowerShell 1.0, o es 2.0 correcto para discutir? –
Cualquier versión es genial –
A medida que las personas publiquen ideas, sería útil decir en qué versión (1/2) están respaldadas. – Nate