Powershell 获取文件计数的正确方法

Powershell Proper way for Getting File Count

获取目录中文件和文件夹数量的正确方法是什么?现在我有两种方法。

第一个:

$downloadsFolder=Get-ChildItem -Path "C:\Users\someUser\Downloads\" -Recurse
Write-Output ("Total Files and Folders " + $downloadsFolder.count)

第二个:

Write-Output ("Calling from Get-Child-Item " + (Get-ChildItem -Path "C:\Users\someUser\Downloads\" -Recurse).Length)

哪个是正确的?他们做一种方式比另一种方式有优势吗?他们中的任何人在另一种情况下会给出不准确的计数吗?

CountLength的别名属性,所以两者没有区别。

PS C:\> <b>$f = Get-ChildItem -Path C:\</b>
PS C:\> <b>Get-Member -InputObject $f</b>

   TypeName: System.Object[]

Name           MemberType            Definition
----           ----------            ----------
<i>Count          AliasProperty         Count = Length</i>
Add            Method                int IList.Add(System.Object value)
<i>[...]</i>
IsSynchronized Property              bool IsSynchronized {get;}
<i>Length         Property              int Length {get;}</i>
LongLength     Property              long LongLength {get;}
Rank           Property              int Rank {get;}
SyncRoot       Property              System.Object SyncRoot {get;}

使用变量或子表达式也没有区别。

PS C:\> <b>$f = Get-ChildItem -Path C:\</b>
PS C:\> <b>$f.Length</b>
11
PS C:\> <b>(Get-ChildItem -Path C:\).Length</b>
11