我打算写一个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
我希望能够计算目录中的文件数以及文件夹数。任何建议,将不胜感激。感谢。
答案 0 :(得分:5)
嗯,你想要两个不同的东西,所以你可能需要运行两个不同的命令。计数文件夹:
(GCI|?{$_.PSIsContainer}).Count
然后计算文件:
(GCI|?{!$_.PSIsContainer}).Count
答案 1 :(得分: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