Получить последний элемент конвейера в PowerShell

Это может быть странно, но оставайтесь со мной. Я хочу получить только последний элемент переданного результата, который будет назначен переменной. Я, конечно, знаю, как сделать это в «обычном» коде, но поскольку это должен быть однострочный код.

В частности, меня интересует получение расширения файла при получении результата из 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]}

, то есть перебрать все, но выбрать только тот элемент, на который я смотрю, является последним элементом входного массива.

Что мне не хватает?

10
задан Jay Bazuzi 28 December 2010 в 20:51
поделиться