我想创建一个表,显示所有名为"andre tegninger";我在这里找到了以下代码,我修改了它,以通过我感兴趣的子文件夹进行过滤。
dir -filter "*Andre tegninger*" -recurse | ?{ $_.PSIsContainer } | %{ Write-Host $_.FullName (dir $_.FullName | Measure-Object).Count }
这很好,但有没有一种方法可以在两个单独的列中获得文件夹的名称和文件的数量?非常感谢。
您可以使用Select-Object
在单独的字段中获得预期的属性:
dir -filter "*Andre tegninger*" -recurse | ?{ $_.PSIsContainer } | Select-Object -Property FullName, {(dir $_.FullName | Measure-Object).Count}
由于-Property需要一个属性(显然(您必须在(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
---- --------------