首页 > 解决方案 > Powershell以表格格式获取子文件夹列表和每个文件的数量

问题描述

我想创建一个表格,显示所有名为“andre tegninger”的子文件夹中的文件数量我在这里找到了以下代码,我对其进行了修改以按我感兴趣的子文件夹进行过滤。

dir -filter "*Andre tegninger*" -recurse |  ?{ $_.PSIsContainer } | %{ Write-Host $_.FullName (dir $_.FullName | Measure-Object).Count }

这工作正常,但有没有办法我可以在两个单独的列中获取文件夹名称和文件数量?谢谢!

标签: listpowershellfilecount

解决方案


您可以使用Select-Object在单独的字段中获取预期的属性:

dir -filter "*Andre tegninger*" -recurse | ?{ $_.PSIsContainer } | Select-Object -Property FullName, {(dir $_.FullName | Measure-Object).Count}

由于 -Property 需要一个属性(显然)您必须使用{}around(dir $_.FullName | Measure-Object).Count来告诉 powershell 它是一个计算表达式。

你得到的输出:

FullName      (dir $_.FullName | Measure-Object).Count
--------      --------------------------------------
Your list of folders...

您可以标记字段名称以获得一些花哨的名称,例如:

dir -filter "*Andre tegninger*" -recurse | ?{ $_.PSIsContainer } | Select-Object -Property @{label="Path";expression={$_.FullName}}, @{label="Numer of files";expression={(dir $_.FullName | Measure-Object).Count}}

你得到输出:

Path     Numer of files
----     --------------

推荐阅读