Questo potrebbe essere strano, ma stai con me. Voglio ottenere solo l'ultimo elemento di un risultato in pipe da assegnare a un valore varaiable. So come farei questo nel codice "normale", naturalmente, ma poiché questo deve essere un unico elemento.Ottieni l'ultimo elemento della pipeline in PowerShell
In particolare, sono interessato a ottenere l'estensione del file quando si ottiene il risultato da una richiesta FTP ListDirectoryDetails
.
Poiché ciò avviene all'interno di un'espansione di stringa, non riesco a capire il codice corretto.
Attualmente sto ricevendo gli ultimi 3 hars, ma questo è davvero brutto.
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
}
La mia idea stava facendo qualcosa di simile a
$tempName.Split(".") | ? {$_ -eq $input[$input.Length-1]}
cioè iterare su tutti, ma solo prendere dove l'elemento che sto guardando è l'ultimo dei input-array.
Cosa mi manca?