Powershell Get-ChildItem返回对象而不是数组

时间:2016-09-26 12:05:34

标签: arrays

似乎Get-ChildItem返回单个对象而不是一个对象的数组,如果它只找到一个项目。例如,这将返回5:

$files = Get-ChildItem -Filter "e*.txt"
$files.length

但是以下应该返回1但返回61321:

$files = Get-ChildItem -Filter "exact.txt"
$files.length

61321是文件exact.txt的大小(字节)。

我们如何始终检查是否找到了文件?

1 个答案:

答案 0 :(得分:5)

这是一个"功能" Get-ChildItem表示它不会返回带有一个项目的数组,而是返回单个对象。强制数组附加@,如下所示:

$files = @(Get-ChildItem -Filter "e*.txt")

或者,如果你只是想检查一下是否有文件,你可以这样做:

$files = Get-ChildItem -Filter "exact.txt"
if (!$files) {"No Files"}