首页 > 解决方案 > Powershell / windows 10:如何计算文件夹内的文件?

问题描述

我认为最好用一个例子来描述

parent1 (located inside my documents)
  - folder1
    - test11.png
    - test11.txt
    - folder11
      - test111.png
    - folder12
      - test121.png
      - test122.png
  - folder2
    - test21.png

如果我运行提供路径和扩展名的命令/脚本,输出应该是:

folder1: 4
folder2: 1

如果我不提供扩展名,所有文件都将被计算在内。

关于如何做到这一点的任何想法?

谢谢

标签: powershellpowershell-4.0

解决方案


这可以使用Get-ChildItemMeasure-Objectcmldets 来完成。

$RootDirectory = 'C:\Program Files (x86)'
Get-ChildItem $RootDirectory -Recurse -Directory | 
    ForEach-Object { 
        $DirectoryName = $_.FullName
        $FilesCount = Get-ChildItem -Path $DirectoryName -File | Measure-Object | Select -ExpandProperty Count 
        '{0}: {1}' -f $DirectoryName, $FilesCount
    }

推荐阅读