在计算属性上设置宽度对输出没有影响

时间:2017-09-19 12:31:49

标签: powershell

我有以下简单的PowerShell脚本:

get-process |
  format-table name, @{name='VM(MB)';width=50000;expression={$_.VM};alignment='right'}

然而,当我尝试使用width参数时,我发现它对屏幕输出没有任何影响。无论我将它设置为什么值,5或50000或其间的任何值,结果都完全相同。

我在这里遗漏了什么吗?感谢。

1 个答案:

答案 0 :(得分:3)

我正在尝试找到更具权威性的内容,但似乎问题是,如果未在输出集中的前导属性中指定宽度,则不会考虑宽度。如果您执行以下操作之一,则会获得所请求的调整。

  • 删除(...) [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1:02.946s [INFO] Finished at: Fri Sep 08 13:59:42 UTC 2017 [INFO] Final Memory: 18M/288M [INFO] ------------------------------------------------------------------------ Copying all target war artifacts from /home/jboss/source/target directory into /opt/webserver/webapps for later deployment... '/home/jboss/source/target/ROOT.war' -> '/opt/webserver/webapps/ROOT.war' (...)

    name
  • 设置get-process | format-table @{name='VM(MB)';width=50;expression={$_.VM};alignment='right'}

    的宽度
    name
  • 更改属性顺序

    get-process | format-table @{name='Name (Yo)';width=40;expression={$_.Name};alignment='left'},@{name='VM(MB)';width=50;expression={$_.VM};alignment='right'}
    

当您的第一个属性没有设置宽度时,看起来不确定该怎么做,因此它会执行默认的格式化操作。

在PSv5上进行了测试。其他版本可能会有不同的