以GB为单位显示磁盘大小和FreeSpace

时间:2016-05-11 06:12:37

标签: powershell

是否有一行代码会以gb而不是mb显示逻辑磁盘的空闲大小和磁盘空间?我尝试做了一些研究,但我找不到一个班轮,我确实尝试过将它除以1GB,但这不起作用,我怎么能做到这一点?

gwmi win32_logicaldisk | Format-Table DeviceId, MediaType,Size,FreeSpace /1GB

3 个答案:

答案 0 :(得分:15)

尝试计算属性。我还会添加[math]::Round()来缩短值:

gwmi win32_logicaldisk | Format-Table DeviceId, MediaType, @{n="Size";e={[math]::Round($_.Size/1GB,2)}},@{n="FreeSpace";e={[math]::Round($_.FreeSpace/1GB,2)}}

n代表namee代表expression。您也可以使用全名,但如果您正在编写多个计算属性,则会浪费空间。

答案 1 :(得分:5)

执行任何算术计算时,应将其放入{ }

gwmi win32_logicaldisk | Format-Table DeviceId, MediaType,Size, {$_.FreeSpace /1GB}

您可以从Microsoft Powershell Library

了解有关语法的更多信息

答案 2 :(得分:2)

我想提供一个替代/更新的答案。 (至少从Powershell 5开始,可能是版本3。)

只需使用Get-Volume https://docs.microsoft.com/en-us/powershell/module/storage/get-volume

示例:

> get-volume
    
DriveLetter FriendlyName     FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining     Size
----------- ------------     -------------- --------- ------------ ----------------- -------------     ----
                             FAT32          Fixed     Healthy      OK                       451 MB   496 MB
C           OSDISK           NTFS           Fixed     Healthy      OK                     65.23 GB 474.3 GB
X           Transfer_Shuttle NTFS           Fixed     Healthy      OK                     37.65 GB 48.68 GB