PowerShell中能否通过变量点语法同时选择多个属性?
PowerShell多属性获取语法问题解答
你提到的$localitem.Name and .Length这种写法完全不可行,PowerShell不支持这种语法逻辑:
and是PowerShell的逻辑运算符,仅用于布尔值判断,不能用来串联多个属性的访问操作;- 成员访问语法
.<属性名>只能单次访问单个属性,没有直接用运算符连接多个属性的写法。
想要得到20240208.zip | 1028这种格式的输出,推荐这几种简洁写法:
1. 字符串子表达式拼接
直接在字符串中嵌入属性值,用子表达式$()解析变量属性:
"$($localitem.Name) | $($localitem.Length)"
2. 使用Join-String cmdlet(PowerShell 6及以上版本支持)
专门用于将对象属性拼接成字符串:
$localitem | Join-String -Property Name, Length -Separator ' | '
3. 基于Select-Object的自定义输出(你已知的方法优化)
如果想用Select-Object实现,可结合格式处理去掉表头:
$localitem | Select-Object Name, Length | Format-Table -HideTableHeaders | Out-String | ForEach-Object { $_.Trim() }
内容的提问来源于stack exchange,提问作者Tester123
相关产品推荐
相关产品推荐

