递归计算文件夹树

时间:2017-03-23 09:59:32

标签: powershell

方案: 文件和文件夹:

/folder1
  |-file
  |-file
  |-folder2
     |-file
     |-file
     |-folder3
        |-file
/folder4
  |-file
  |-folder5
     |-file
     |-file
     |-file
     |-file
     |-folder6
         |-file
         |-file
         |-file

我现在要做的是递归计算所有子编码器中的所有文件,但在我的输出中我只想拥有顶部的foldernames和文件计数(文件夹和所有子文件夹中的每个文件)。

对于这种情况,它将是:

folder1;5
folder4;8

有一种聪明的方法可以使用PowerShell解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

你可以这样做:

Get-ChildItem -Directory | % {Write-Host -nonewline "$_;" ; $(Get-ChildItem $_ -Recurse -File).count } 

从您想要开始计算的根源开始。

第一个命令将获取当前目录中的所有目录,然后对于每个目录,您可以获得所有文件的计数