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

时间:2015-01-25 15:49:45

标签: powershell 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)

哪个是对的?他们的优势是一种方式优于另一种方式吗?在其他情况下,他们中的任何人都会给出不准确的计数吗?

1 个答案:

答案 0 :(得分:1)

CountLength的别名属性,因此它们之间没有区别。

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

   TypeName: System.Object[]

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

如果使用变量或子表达式,它也没有什么区别。

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