Это может быть странно, но оставайся со мной.
Я хочу получить только последний элемент конвейерного результата, который будет присвоен переменной.
Я знаю, как бы это сделать в «обычном» коде, конечно, но так как это должно быть однострочно.
В частности, мне интересно получить расширение файла при получении результата от запроса FTP ListDirectoryDetails
.
Так как это делается в раскрытии строки, я не могу понять правильный код.
В настоящее время я получаю последние 3 харса, но это очень неприятно.
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
}
Моя идея заключалась в том, чтобы сделать что-то похожее на
$tempName.Split(".") | ? {$_ -eq $input[$input.Length-1]}
то есть перебираем все, но вынимаем только то, где элемент, на который я смотрю, является последним из входного массива.
Чего мне не хватает?