我想添加C盘属性(可用空间和已用空间)以获取总大小。
Get-PSDrive C | Select-Object -Property Free,Used
这将显示C盘的可用空间和已用空间。我可以使用自定义属性将它们转换为GB,但不确定如何将这些属性相加。感谢您的帮助!Get-PSDrive C | Select-Object -Property Free,Used
这将显示C盘的可用空间和已用空间。我可以使用自定义属性将它们转换为GB,但不确定如何将这些属性相加。感谢您的帮助! $computerHDDs= Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'"
$logicalDisks = @()
foreach($item in $computerHDDs)
{
$logicalDisk =[ordered]@{
Name=$item.DeviceID -replace ':' ,'';
DiskSize = "{0:N2}" -f ($item.Size/1GB) + " GB" ;
}
$logicalDisks +=$logicalDisk
}
$logicalDisks
$hdd= Get-PSDrive C | Select-Object -Property Free,Used
$total= (($hdd.free + $hdd.Used)/1GB).ToString() + " GB"
$total
注意: 如果仅需要获取值,那么请去掉tostring方法和GB部分,只使用前面的内容。
对于所有驱动器,可以像这样使用:
Get-PSDrive -PSProvider filesystem | select Name, @{n= 'Used(GB)' ; e = {"{0:N2}" -f ($_.used/1GB)}}, @{n= 'Free (GB)' ; e = {"{0:N2}" -f ($_.Free/1GB)}}, @{n= 'Total(GB)' ; e = {"{0:N2}" -f (($_.used + $_.Free)/1GB)}} | Format-Table -AutoSize
e = {"{0:N2}" -f ($_.used/1GB)}}
- Jeff S.格式化
数字 - Ranadip Dutta如果您想获取有关硬盘分区的完整信息,PSDrive并不是最好的工具,建议使用Volume cmdlets代替:
(Get-Volume -DriveLetter C).Size
Get-Volume -DriveLetter C | Select-Object Size
#solution 1 with new column into select
Get-Volume -DriveLetter C|
select @{n= 'Used' ; e = {"{0:N2}" -f (($_.Size - $_.SizeRemaining)/1GB)}}, @{n= 'Free' ; e = {"{0:N2}" -f ($_.SizeRemaining/1GB)}}, @{n= 'Total' ; e = {"{0:N2}" -f ($_.Size/1GB)}}
#solution 2 with foreach
Get-Volume -DriveLetter C| foreach {
[pscustomobject]@{
Used="{0:N2}" -f (($_.Size - $_.SizeRemaining)/1GB)
Free="{0:N2}" -f ($_.SizeRemaining/1GB)
Total="{0:N2}" -f ($_.Size/1GB)
}
}