如何在PowerShell的Get-ChildItem统计结果前输出说明文本?
实现带前缀的HEIC文件数量统计输出
你可以通过以下几种简单方式实现带说明前缀的输出效果:
方式1:在ForEach-Object中直接拼接字符串
利用PowerShell的字符串插值,在处理统计结果的脚本块里直接组合文本和数量:
Get-ChildItem -Path "C:\My\Folder" -Recurse -File -Filter *.heic | Measure-Object | %{ "Number of HEIC files: $($_.Count)" }
方式2:先存储统计结果再输出
先把统计数量存入变量,再组合文本输出,逻辑更清晰:
$heicFileCount = (Get-ChildItem -Path "C:\My\Folder" -Recurse -File -Filter *.heic | Measure-Object).Count Write-Output "Number of HEIC files: $heicFileCount"
方式3:使用字符串格式化运算符
借助PowerShell的-f格式化运算符来生成带前缀的输出:
Get-ChildItem -Path "C:\My\Folder" -Recurse -File -Filter *.heic | Measure-Object | %{ "Number of HEIC files: {0}" -f $_.Count }
原尝试命令的问题
你之前的命令无法运行,是因为Write-Output不能直接用+连接脚本块(%{$_.Count})。管道传递的Measure-Object结果需要在ForEach-Object(即%{})中处理,再将组合后的字符串输出。
内容的提问来源于stack exchange,提问作者GTS Joe
相关产品推荐
相关产品推荐

