Esto podría ser extraño, pero quédate conmigo. Quiero obtener solo el último elemento de un resultado canalizado para ser asignado a un variable. Sé cómo haría esto en el código "normal", por supuesto, pero ya que esto debe ser de una sola línea.Obtener el último elemento de la tubería en powershell
Más específicamente, estoy interesado en obtener la extensión de archivo al obtener el resultado de una solicitud FTP ListDirectoryDetails
.
Dado que esto se hace dentro de una extensión de cadena, no puedo encontrar el código correcto.
Actualmente recibo las últimas 3 hars, pero eso es muy desagradable.
New-Object PSObject -Property @{
LastWriteTime = [DateTime]::ParseExact($tempDate, "MMM dd HH:mm",[System.Globalization.CultureInfo]::InvariantCulture)
Type = $(if([int]$tempSize -eq 0) { "Directory" } else { $tempName.SubString($tempName.length-3,3) })
Name = $tempName
Size = [int]$tempSize
}
Mi idea estaba haciendo algo similar a
$tempName.Split(".") | ? {$_ -eq $input[$input.Length-1]}
que es, iterar sobre todo, pero sólo llevará a cabo en el elemento que estoy viendo es el último de la input-array.
¿Qué me estoy perdiendo?