是否有一行代码会以gb而不是mb显示逻辑磁盘的空闲大小和磁盘空间?我尝试做了一些研究,但我找不到一个班轮,我确实尝试过将它除以1GB,但这不起作用,我怎么能做到这一点?
gwmi win32_logicaldisk | Format-Table DeviceId, MediaType,Size,FreeSpace /1GB
答案 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
代表name
,e
代表expression
。您也可以使用全名,但如果您正在编写多个计算属性,则会浪费空间。
答案 1 :(得分:5)
执行任何算术计算时,应将其放入{ }
。
gwmi win32_logicaldisk | Format-Table DeviceId, MediaType,Size, {$_.FreeSpace /1GB}
了解有关语法的更多信息
答案 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