【问题标题】:"Sorted List Output" Powershell Script\"排序列表输出\" Powershell 脚本
【发布时间】:2022-10-20 09:03:46
【问题描述】:

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

$diskpartitions = Get-Partition |Select PartitionNumber, DriveLetter, Size, DiskId | Sort-Object DiskId
    Write-Host $diskpartitions

【问题讨论】:

    标签: powershell


    【解决方案1】:

    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
    

    【讨论】:

    • 非常感谢你的朋友 <3 来自德国的问候!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2022-11-17
    相关资源
    最近更新 更多