"Sorted List Output" Powershell 脚本

"Sorted List Output" Powershell Script

我如何格式化此命令在 powershell 脚本中的输出?当我只是在控制台中输入它时,它排序很好,但在脚本中它只是把所有内容都放在一行中

$diskpartitions = Get-Partition |Select PartitionNumber、DriveLetter、Size、DiskId |排序对象 DiskId 写入主机 $diskpartitions

Write-Host 将给定的任何输入转换为字符串形式。字符串必须采用格式良好的 PowerShell 对象并将其转换为字符串。

您应该改用 Write-Output,它将呈现您拥有的对象。

PS>Write-output $diskpartitions

PartitionNumber DriveLetter          Size DiskId
--------------- -----------          ---- ------
              1                 16777216 \?\scsi#disk&ven_nvme&prod_samsung_ssd_960#5&17cb1da0&0&000000#{53f56307-b6…
              2           C  499537713664 \?\scsi#disk&ven_nvme&prod_samsung_ssd_960#5&17cb1da0&0&000000#{53f56307-b6…
              3                550502400 \?\scsi#disk&ven_nvme&prod_samsung_ssd_960#5&17cb1da0&0&000000#{53f56307-b6…
              1                134217728 \?\scsi#disk&ven_nvme&prod_samsung_ssd_960#7&1a97d747&0&000000#{53f56307-b6…
              2           V  499971522560 \?\scsi#disk&ven_nvme&prod_samsung_ssd_960#7&1a97d747&0&000000#{53f56307-b6…
              1           W 1000202043392 \?\scsi#disk&ven_samsung&prod_hd103sj#5&1bc941f&0&070000#{53f56307-b6bf-11d…
              1                471859200 \?\scsi#disk&ven_samsung&prod_ssd_850_pro_256g#5&1bc941f&0&010000#{53f56307…
              2                103809024 \?\scsi#disk&ven_samsung&prod_ssd_850_pro_256g#5&1bc941f&0&010000#{53f56307…
              3                 16777216 \?\scsi#disk&ven_samsung&prod_ssd_850_pro_256g#5&1bc941f&0&010000#{53f56307…
              4           D  255466668032 \?\scsi#disk&ven_samsung&prod_ssd_850_pro_256g#5&1bc941f&0&010000#{53f56307…
              1           G 1000202043392 \?\scsi#disk&ven_samsung&prod_ssd_860_evo_1tb#5&1bc941f&0&060000#{53f56307-…
              1                134217728 \?\scsi#disk&ven_seagate&prod_backup+_hub_bk#8&2a5cdee5&0&000000#{53f56307-…
              2           H 6001039245312 \?\scsi#disk&ven_seagate&prod_backup+_hub_bk#8&2a5cdee5&0&000000#{53f56307-…

有趣的提示

每一行 PowerShell 代码的末尾都有一个隐式 Write-Output 调用。作为一种简单的替代方法,您可以通过在一行中单独显示变量名称来回显变量的内容。

PS> $diskpartitions

PartitionNumber DriveLetter          Size DiskId
--------------- -----------          ---- ------
              1                 16777216 \?\scsi#disk&ven_nvme&prod_sa
#...same content as before