PowerShell统计文件夹数量时如何添加列头及展示文件夹名称
调整后的实现代码
你可以直接用下方代码替换原有逻辑,自动会输出带列头的两列结果:第一列是文件夹路径/名称,第二列是你要求的Folder Count子目录计数:
# 此处替换为你的目标顶级路径 $targetRootPath = "\\whatever\whatever" # 遍历所有子目录并输出统计结果 Get-ChildItem -Path $targetRootPath -Recurse -Directory | ForEach-Object { [PSCustomObject]@{ "文件夹路径" = $_.FullName "Folder Count" = (Get-ChildItem -Path $_.FullName -Directory -ErrorAction SilentlyContinue).Count } }
调整说明
- 原有代码用
Write-Host直接输出纯数值,丢失了上下文信息也无法生成结构化的列头,改成输出PSCustomObject结构化对象后,PowerShell会自动渲染列头,后续如果需要导出到Excel/CSV也可以直接在代码末尾加| Export-Csv 统计结果.csv -Encoding UTF8 -NoTypeInformation即可 - 如果不需要显示完整路径只需要显示文件夹短名,把
$_.FullName改为$_.Name即可 - 代码里加了
-ErrorAction SilentlyContinue参数,遇到无权限访问的文件夹时不会抛出报错中断统计,不需要这个逻辑可以删掉
内容的提问来源于stack exchange,提问作者Andrew Johnson
相关产品推荐
相关产品推荐

