Как работает отображение читаемых человеком байтовых размеров? - PullRequest
0 голосов
/ 28 октября 2018

Предположим, что следующий вывод 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 ТБ».Это почему?Как это работает автоматически, когда я просто набираю Get-Disk?
  • В первом выводе столбец называется «Friendly Name» (с пробелом).Когда я указываю "Friendly Name" для ft, это не будет работать.Когда я использую FriendlyName, это работает - но, очевидно, заголовок будет показан без пробелов.Как это работает автоматически для простого Get-Disk?
  • В первом примере выходные данные используют ширину вида, но не во втором.(Несмотря на то, что в Format-Table документах указано, что «По умолчанию размер и номер столбца определяются представлением.» См. Параметр -Autosize в https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-table?view=powershell-6)

ИИ последний вопрос: как я могу получить нужный вывод (с дополнительным столбцом И размером диска в удобочитаемом формате)?

Я уже проверил файлы .ps1xml в C:\Windows\System32\WindowsPowerShell\v1.0, но не смог найти записьдля вывода Get-Disk.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...