【问题标题】:Show tabular output in richtextbox在富文本框中显示表格输出
【发布时间】:2014-04-12 12:12:04
【问题描述】:

刚刚安装了 PowerShell Studio,我正在尝试在富文本框中查看一些 VMware 命令的结果。

例如,当我运行get-vm 时,它显示的数据很好(我将字体更改为 Lucida Console- 看起来还不错),常规的get-vm 结果显示在富文本框中:

Name : xxx
Cluster : xxx
ESX Host : esx6
Datastore : xxx
MemoryGB : 8
NumCpu : 2
ProvisionedSpace(GB) : 282
UsedSpace(GB) : 281
OS : Microsoft Windows Server 2008 R2 (64-bit)

但是当我尝试运行 (get-vm).Guest.Disks 时,richtextbox 中的数据显示不好,它看起来像这样:

Capacity:192515403776,
FreeSpace:43895230464,
Path:E:\

Capacity:75053920256,
FreeSpace:12630409216,
Path:C:\

当在常规的 powershell 控制台中运行它时,它看起来应该是这样的:

Volume Capacity(GB) FreeSpace(GB) % FreeSpace
------ ------------ ------------- -----------
E:\    120          13            11
C:\    120          15            12

PowerShell 中的命令行是:

((Get-VM $vm).Guest.disks) | Format-Table @{N="Volume";E={$_.Path}},
    @{N="Capacity(GB)";E={[System.Math]::Round($_.CapacityGB)};a="left"},
    @{N="FreeSpace(GB)";E={[System.Math]::Round($_.FreeSpaceGB)};a="left"},
    @{N="% FreeSpace";E={[math]::Round((100 * ($_.FreeSpacegb / $_.Capacitygb)),0)};a="left"} -auto |
  Out-String

富文本框中的命令行是:

$richtextbox1.AppendText((Get-VM $text).Guest.disks) |
  Format-Table @{N="Volume";E={$_.Path}},
    @{N="Capacity(GB)";E={[System.Math]::Round($_.CapacityGB)};a="left"},
    @{N="FreeSpace(GB)";E={[System.Math]::Round($_.FreeSpaceGB)};a="left"},
    @{N="% FreeSpace";E={[math]::Round((100 * ($_.FreeSpacegb / $_.Capacitygb)),0)};a="left"} -auto |
 Out-String 

无论是使用 Richtextbox 还是任何其他控件,我如何才能获得与 PowerShell 控制台中的结果一样的结果?

【问题讨论】:

  • 为什么不使用 ListView 或 ListBox?

标签: winforms powershell richtextbox powershell-studio


【解决方案1】:

看起来您的富文本框以列表格式为您提供结果。将结果通过管道传输到 Format-Table cmdlet,然后再将其传输到 Out-String 以强制执行表格格式:

... | Format-Table | Out-String

【讨论】:

    【解决方案2】:

    您需要使用以下固定大小的字体之一来显示输出: 康索拉斯 快递新 Lucida 控制台

    【讨论】:

    • 请扩展您的答案。很短。
    猜你喜欢
    • 2014-02-09
    • 2020-12-30
    • 2013-01-23
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 2012-06-26
    • 2013-01-05
    相关资源
    最近更新 更多