Puede forzar PowerShell en devolver una matriz, incluso cuando sólo hay un elemento presente envolviendo una declaración en @(...)
:
@(gci *.xls)[0]
trabajará para cada uno de los tres casos:
- se devuelve el primer objeto de una colección de archivos
- devuelve el único objeto si solo hay uno
- devuelve
$null
de que no había ningún objeto, para empezar
También existe la -First
parámetro para Select-Object
:
Get-ChildItem -Filter *.xls | Select-Object -First 1
gci -fi *.xls | select -f 1
que funciona más o menos idéntica a la anterior, excepto que la lista de no es necesario que los archivos estén enumerados por completo en Get-ChildItem
, ya que la interconexión se cancela después del primer elemento. Esto puede marcar la diferencia cuando hay muchos archivos que coinciden con el filtro.