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

PowerShell数组输出异常求助:连续调用数组显示格式混乱

问题原因

这是PowerShell默认输出格式化机制的特性导致的:

  • PowerShell在处理同一段输出流里的多个对象集合时,会根据第一个输出的对象结构固定显示列格式,后续输出的集合会强制套用这个格式,不会重新检测新集合的对象结构。
  • 你在脚本结尾连续调用$FileB_ar和$FileA_ar时,PowerShell先以$FileB_ar里的自定义对象为准生成列配置,输出$FileA_ar时直接复用这个配置——哪怕两个数组的对象属性完全相同,只要第一个集合的格式已经确定,第二个集合的列就可能因为格式复用出现缺失或错位。
  • 而手动单独调用时,每次都是独立的输出流,PowerShell会重新识别当前对象的结构并生成正确的列格式,所以显示正常。
解决办法
  • 给每个数组显式指定格式化方式,强制重新生成格式:
    $FileB_ar | Format-Table -AutoSize
    $FileA_ar | Format-Table -AutoSize
    
  • 或者用Out-String把每个数组的输出转成独立字符串后再输出:
    $FileB_ar | Out-String
    $FileA_ar | Out-String
    
  • 如果两个数组的对象结构完全一致,也可以合并成一个集合输出,避免格式冲突:
    $FileB_ar + $FileA_ar
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 02:49:56