Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在子文件夹和分组结果中递归计算筛选的文件_Windows_Powershell_Directory Structure - Fatal编程技术网

Windows 在子文件夹和分组结果中递归计算筛选的文件

Windows 在子文件夹和分组结果中递归计算筛选的文件,windows,powershell,directory-structure,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

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

目录树如下所示

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   
因此,我需要计算每个子目录中的数据文件总数,并显示如下结果

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}
所以,问题是它给了我根目录中的所有文件


这里有人问了一个类似的问题,但我无法根据自己的需要自定义此处提供的解决方案

根据您的场景,您可以像这样使用组对象-

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

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

非常有用。Thanks@db100-如果考虑到您的查询,请考虑接受答案。因为您对组属性的内容不感兴趣,您可以向组对象添加NoEnter,这将避免一些开销。虽然这是个人偏好的问题,但我会在管道符号和缩进后插入一个换行符,以避免这些过长的命令强制横向滚动。否则+1