【发布时间】:2010-12-02 18:35:03
【问题描述】:
我想选择目录中的任何一个“.xls”文件。问题是dir 命令可以返回不同的类型。
gci *.xls
会回来
- object[] 如果有多个文件
- 文件信息(如果只有一个文件)
- 如果没有文件则为空
我可以处理 null,但我如何只选择“第一个”文件?
【问题讨论】:
标签: powershell
我想选择目录中的任何一个“.xls”文件。问题是dir 命令可以返回不同的类型。
gci *.xls
会回来
我可以处理 null,但我如何只选择“第一个”文件?
【问题讨论】:
标签: powershell
您可以强制 PowerShell 返回一个数组,即使只有一项存在,也可以通过将语句包装到 @(...) 中:
@(gci *.xls)[0]
适用于您的三种情况:
$null 表示没有任何对象以开头还有-First参数Select-Object:
Get-ChildItem -Filter *.xls | Select-Object -First 1
gci -fi *.xls | select -f 1
它的工作原理与上述几乎相同,只是文件列表不需要由Get-ChildItem 完全枚举,因为管道在第一项之后中止。当有许多文件与过滤器匹配时,这可能会有所不同。
【讨论】: