递归计数子文件夹中的文件

pr0n

我正在尝试计算目录中所有子文件夹中的文件,并在列表中显示它们。

例如以下脏物:

TEST
    /VOL01
        file.txt
        file.pic
    /VOL02
        /VOL0201
            file.nu
            /VOL020101
                file.jpg
                file.erp
                file.gif
    /VOL03
        /VOL0301
            file.org

应该给出作为输出:

PS> DirX C:\TEST

Directory              Count
----------------------------
VOL01                      2
VOL02                      0
VOL02/VOL0201              1
VOL02/VOL0201/VOL020101    3
VOL03                      0
VOL03/VOL0301              1

我从以下内容开始:

Function DirX($directory)
{
    foreach ($file in Get-ChildItem $directory -Recurse)
    {
        Write-Host $file
    }
}

现在我有一个问题:为什么我的函数不能递归?

戴维·布拉本特

这样的事情应该起作用:

dir -recurse |  ?{ $_.PSIsContainer } | %{ Write-Host $_.FullName (dir $_.FullName | Measure-Object).Count }
  • dir -recurse 列出当前目录下的所有文件,并将结果用管道(|)传递给
  • ?{ $_.PSIsContainer } 仅过滤目录,然后再次将结果列表通过管道传输到
  • %{ Write-Host $_.FullName (dir $_.FullName | Measure-Object).Count } 这是一个foreach循环,它对列表($ _)的每个成员显示全名和以下表达式的结果
  • (dir $_.FullName | Measure-Object).Count它在$ _。FullName路径下提供文件列表,并通过Measure-Object计数成员

  • ?{ ... } 是Where-Object的别名

  • %{ ... } 是foreach的别名

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在文件夹、子文件夹和多个文件中递归查找

如何递归地仅复制文件夹和子文件夹中的文件?

在文件夹,子文件夹和多个文件中递归查找和重命名

递归打印s3中的子文件夹和子文件夹

递归清除其中没有文件的文件夹中的所有文件夹和子文件夹

如何在CMD中目录的每个文件夹中递归创建子文件夹

LibreOffice:以递归方式转换文件夹和子文件夹中的文档

Python递归从文件夹或子文件夹中查找项目

文件夹中的PHP文件计数

递归更改文件夹和子文件夹中的文件名,而无需更改文件路径

如何计算文件夹,其子文件夹和all中的所有文件。该计数不应包括文件夹计数

bash shell:递归地在文件夹和子文件夹中搜索列表中的文件

递归循环到子文件夹并在文件中寻找子字符串

递归搜索子文件夹并删除6个月以上的子文件夹中的所有文件

Python脚本递归重命名文件夹和子文件夹中的所有文件

在给定文件夹的所有子文件夹中递归创建一个php文件

递归删除python中的文件夹

C ++中的递归文件夹扫描

在R中递归复制文件夹

目录中的文件夹数(递归)

递归wget在特定文件夹中

在子文件夹中搜索文件

递归上传到 Azure 文件/创建子文件夹

在Windows文件夹和子文件夹中动态和递归搜索字符串

如何递归获取子文件夹中的文件详细信息?

递归地重命名所有子文件夹中的文件

使用尾部递归检索文件夹和子文件夹以用Java读取文件

Inno Setup:在“代码”部分递归复制文件夹,子文件夹和文件

使用Powershell计数子文件夹中具有特定名称的文件数