使用Powershell获取目录中文件和文件夹的数量

3

我将编写一个 PowerShell 脚本,以获取所在目录的各种统计信息。

如果我执行以下操作:

get-childitem

我理解了这个内容

d----        06/23/2014   2:49 PM            asdf;
-a---        06/23/2014   2:49 PM         23 New Text Document - Copy (2).txt
-a---        06/23/2014   2:49 PM         23 New Text Document - Copy (3).txt
-a---        06/23/2014   2:49 PM         23 New Text Document - Copy (4).txt
-a---        06/23/2014   2:49 PM         23 New Text Document - Copy (5).txt
-a---        06/23/2014   2:49 PM         23 New Text Document - Copy.txt
-a---        06/23/2014   2:49 PM         23 New Text Document.txt

如果我执行

(get-childitem).count

我理解了

7

我希望能够统计目录中文件和文件夹的数量,有任何建议将不胜感激。谢谢。

2个回答

5

好的,您需要两件不同的事情,所以您可能需要运行两个不同的命令。统计文件夹数量:

(GCI|?{$_.PSIsContainer}).Count

然后计算文件数量:

(GCI|?{!$_.PSIsContainer}).Count

4
您可以使用以下命令完成此操作:
$headers = @{ $true='Folder'; $false='File' }
Get-ChildItem |
  Group-Object PSIsContainer |
  Select-Object @{ Name="Type"; Expression={ $headers[$_.Name -eq $true] } }, Count

或者全部放在一行中:

gci | group psiscontainer | select @{n="Type";e={@{$true='Folder';$false='File'}[$_.Name -eq $true]}}, Count

2
稍微简化一下...Get-ChildItem | group @{Expression={if($_.PSISContainer){'文件夹'} else {'文件'}}} -NoElement - Mike Shepard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接