我想在目录中选择任何一个“.xls”文件。问题是dir命令可以返回不同的类型。
gci *.xls
将返回
我可以处理null,但是如何选择“first”文件?
答案 0 :(得分:92)
您可以通过将语句包装到@(...)
中来强制PowerShell返回数组,即使只有一个项目存在:
@(gci *.xls)[0]
适用于您的三种情况:
$null
,没有任何对象以 -First
还有Select-Object
参数:
Get-ChildItem -Filter *.xls | Select-Object -First 1
gci -fi *.xls | select -f 1
与上面的工作方式非常相似,只是Get-ChildItem
不需要完全枚举文件列表,因为管道在第一个项目之后被中止。当有许多文件与过滤器匹配时,这会产生影响。