可读字节大小的显示如何工作?

时间:2018-10-28 11:54:08

标签: powershell

假设Get-Disk的以下输出:

PS C:\own\powershell> Get-Disk

Number Friendly Name Serial Number                    HealthStatus         OperationalStatus      Total Size Partition
                                                                                                         Style
------ ------------- -------------                    ------------         -----------------      ---------- ----------
0      Crucial_CT... (removed)                        Healthy              Online                  931.51 GB MBR
1      Crucial_CT... (removed)                        Healthy              Online                    1.86 TB MBR
9      LaCie Rugg... (removed)                        Healthy              Online                    1.82 TB GPT

由于我想在前面显示一列,因此尝试了以下操作:

PS C:\own\powershell> Get-Disk | ft BusType, FriendlyName, SerialNumber, HealthStatus, OperationalStatus, TotalSize, PartitionStyle

BusType FriendlyName              SerialNumber  HealthStatus OperationalStatus TotalSize PartitionStyle
------- ------------              ------------  ------------ ----------------- --------- --------------
SATA    Crucial_CT1024MX200SSD1   (removed)     Healthy      Online                      MBR
SATA    Crucial_CT2050MX300SSD1   (removed)     Healthy      Online                      MBR
USB     LaCie Rugged USB-C        (removed)     Healthy      Online                      GPT

但是,有一些微妙之处,我不明白:

  • 最重要的一个:TotalSize列为空。如果我仅使用Size而不是TotalSize,则以字节为单位显示大小,但不会以“ 1.86 TB”之类的人类可读格式显示。这是为什么?只需输入Get-Disk,它如何自动工作?
  • 在第一个输出中,该列名为“友好名称”(带空格)。当我为"Friendly Name"指定ft时,它将不起作用。当我使用FriendlyName时,它可以工作-但显然标题将显示为无空格。对于纯Get-Disk,这如何自动工作?
  • 在第一个示例中,输出使用视图的宽度-但在第二个示例中不使用。 (尽管Format-Table文档指出“默认情况下,列的大小和数量由视图确定。”请参见https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-table?view=powershell-6中的-Autosize参数)

最后一个问题:如何获得所需的输出(带有附加列和人类可读格式的磁盘大小)?

我已经检查了.ps1xml中的C:\Windows\System32\WindowsPowerShell\v1.0个文件,但找不到Get-Disk的输出条目。

0 个答案:

没有答案