PowerShell有序哈希表:先输出首键值对,再继续迭代剩余项
PowerShell有序哈希表分步输出实现
针对你的需求,利用有序哈希表的键顺序特性,可以这样实现:
# 定义有序哈希表 $hash = [ordered]@{ "Name" = "Con1" "IP" = "192.168.0.44" MAC = "00-00-00-11-22-33" } # 提取所有有序键 $allKeys = $hash.Keys # 1. 输出第一个键值对 $firstKey = $allKeys[0] "{0} `"is`" {1}" -f $firstKey, $hash[$firstKey] # 2. 输出指定文本 "Details are:" # 3. 输出剩余键值对(两种方式任选其一) # 方式一:for循环遍历索引 for ($i = 1; $i -lt $allKeys.Count; $i++) { $currentKey = $allKeys[$i] "{0} `"is`" {1}" -f $currentKey, $hash[$currentKey] } # 方式二:管道+Skip跳过第一个键 # $allKeys | Select-Object -Skip 1 | ForEach-Object { # "{0} `"is`" {1}" -f $_, $hash[$_] # }
说明
- 因为是
[ordered]类型哈希表,$hash.Keys会严格保留定义时的键顺序,所以可以通过索引精准定位第一个和剩余的键。 - 用PowerShell的格式化字符串
-f来拼接成你需要的输出格式,其中"is"是转义双引号的写法,确保输出带双引号的is。
内容的提问来源于stack exchange,提问作者alive-one
相关产品推荐
相关产品推荐

