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

Recursively count filtered files in subfolders and group results

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

目录树如下

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,但我无法根据需要自定义此处提供的解决方案

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

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

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