"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
我如何格式化此命令在 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