如何在PowerShell中为任意长度的列表按顺序输出带对应序号的元素?
PowerShell 数组按「序号 >> 元素」格式逐行输出方案
实现逻辑
通过动态遍历数组并自动计数生成序号,无需硬编码数组长度,可完美适配任意元素数量的列表。
实现代码
方法1:for循环实现(兼容性最好)
# 定义示例数组,可替换为任意长度的自定义数组 $a = @('ab','bc','cd','dc') # 遍历输出 for ($index = 0; $index -lt $a.Count; $index++) { # 序号从1开始计数 Write-Host "$($index + 1) >> $($a[$index])" }
方法2:管道流式实现(代码更简洁)
适用于PowerShell 3.0及以上版本:
$a = @('ab','bc','cd','dc') $a | ForEach-Object -Begin { $serialNumber = 1 } -Process { "$serialNumber >> $_" $serialNumber++ }
输出效果
运行上述代码后输出结果和要求完全一致:
1 >> ab
2 >> bc
3 >> cd
4 >> dc
适配性说明
两种实现都依赖数组自带的Count属性或者流式遍历逻辑,数组元素新增、删除后不需要修改代码逻辑,可直接正常运行。
内容的提问来源于stack exchange,提问作者snorlax
相关产品推荐
相关产品推荐

