38
我想選擇目錄中的任何一個「.xls」文件。問題是dir命令可以返回不同的類型。使用PowerShell查找與模式匹配的第一個文件
gci *.xls
將返回
- 對象[]如果有一個以上的文件
- 的FileInfo如果恰好有一個文件
- 空,如果沒有文件
我可以處理null,但我怎樣才能選擇「第一個」文件?
我想選擇目錄中的任何一個「.xls」文件。問題是dir命令可以返回不同的類型。使用PowerShell查找與模式匹配的第一個文件
gci *.xls
將返回
我可以處理null,但我怎樣才能選擇「第一個」文件?
您可以強制的PowerShell成返回一個數組,即使只有一個項目存在通過包裝聲明爲@(...)
:
@(gci *.xls)[0]
會爲每一個你的三個情況下工作:
也有-First
參數Select-Object
:
Get-ChildItem -Filter *.xls | Select-Object -First 1
gci -fi *.xls | select -f 1
其作品幾乎上述相同,除了名單因爲管道在第一個項目之後被中止,所以文件不需要完全被Get-ChildItem
枚舉。當有許多文件與過濾器匹配時,這可能會有所不同。