递归计算子文件夹和组结果中的过滤文件

时间:2018-07-12 10:02:23

标签: windows powershell directory-structure

我想计算目录中具有特定前缀的所有文件,然后根据每个子目录显示结果。

目录树如下

Test
  January
     sms20180101_110.unl
     rec20180101_110.unl
     data20180101_110.unl
  February
     sms20180201_110.unl
     rec20180201_110.unl
     data20180201_110.unl
  March
    sms20180301_110.unl
    rec20180301_110.unl
    data20180301_110.unl

因此,我需要计算例如每个子目录中的数据文件总数,并显示结果,如下所示

January      1
February     5
March        10   

我在Powershell中编写了以下命令

Get-ChildItem -Path D:\Test -Filter *data* -Force -Recurse | Measure-Object | %{$_.Count}

所以,问题在于它给了我根目录下的全部文件

这里Recursively count files in subfolders提出了类似的问题,但是我无法根据我的需要定制此处提供的解决方案

1 个答案:

答案 0 :(得分:1)

根据您的情况,您可以像这样使用Group-Object-

Get-ChildItem -Path D:\Test -Filter *data* -Force -Recurse | Group-Object -Property Directory | Select-Object Name, Count

这将列出所有文件夹和子文件夹的名称,以及名称中包含数据的文件数。