You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用一行PowerShell代码输出指定格式的哈希表?

一行代码将PowerShell哈希表转为指定格式

你可以用以下一行代码实现需求:

"@{'$($headers.GetEnumerator() | ForEach-Object { if ($_.Name -eq 'Authorization') { "'$($_.Name)'=`"$($_.Value)`"" } else { "'$($_.Name)'='$($_.Value)'" } } -join '; ')}"

解决思路说明

你的原代码存在三个问题:

  • 未使用-join合并输出,导致每个键值对单独分行
  • 每个键值对末尾都添加了分号,造成最后一个元素多出冗余分号
  • 缺少@{ }的外层包裹

修正后的代码逻辑:

  1. 用GetEnumerator()遍历哈希表的所有键值对
  2. 针对Authorization键单独处理值的引号格式(匹配你要求的双引号),其他键统一用单引号包裹值
  3. 用-join '; '将所有键值对字符串连接,确保分号只出现在元素之间
  4. 最后通过字符串拼接添加外层的@{ }包裹

如果不需要区分引号格式,所有键值对都用单引号的话,代码可以更简洁:

"@{'$($headers.GetEnumerator() | ForEach-Object { "'$($_.Name)'='$($_.Value)'" } -join '; ')}"

内容的提问来源于stack exchange,提问作者Vaccano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 14:14:37