Рекурсивно считать отфильтрованные файлы в подпапках и результатах группы

Я хочу подсчитать все файлы с определенным префиксом в каталоге, а затем отобразить результаты на основе каждого подкаталога.

Дерево каталогов выглядит следующим образом

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}

Таким образом, проблема в том, что он дает мне общие файлы в корневом каталоге

Здесь был задан аналогичный вопрос. Рекурсивно подсчитайте файлы в подпапках, но я не смог настроить предлагаемые здесь решения для моей потребности

windows,powershell,directory-structure,

0

Ответов: 1


1 принят

Основываясь на вашем сценарии, вы можете использовать Group-Objectэто:

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

Это будет отображать все имена папок и подпапок вместе с количеством файлов, имеющих данные в имени.

окна, PowerShell, каталог-структура,
Похожие вопросы
Яндекс.Метрика