2009-09-30 8 views

Répondre

76

Vous pouvez forcer PowerShell en retour d'un tableau, même si un seul élément est présent en enroulant une déclaration en @(...):

@(gci *.xls)[0] 

travaillera pour chacun de vos trois cas:

  • il retourne le premier objet d'une collection de fichiers
  • il retourne le seul objet s'il n'y en a qu'un
  • il renvoie $null il n'y avait pas de tout objet pour commencer

Il y a aussi le paramètre -First-Select-Object:

Get-ChildItem -Filter *.xls | Select-Object -First 1 
gci -fi *.xls | select -f 1 

qui fonctionne à peu près identique à ce qui précède, sauf que la liste des les fichiers n'ont pas besoin d'être énumérés complètement par Get-ChildItem, car le pipeline est abandonné après le premier élément. Cela peut faire la différence quand il y a beaucoup de fichiers correspondant au filtre.

Questions connexes