如何拆分PowerShell脚本将C盘可用空间与总容量存入单独变量?
实现方法
要单独提取C盘的可用空间和总容量到变量,有两种简洁高效的方式:
方法一:直接查询过滤(推荐)
利用Get-CimInstance的-Filter参数在查询阶段就定位C盘,避免获取所有磁盘数据,性能更优:
# 获取C盘的CIM实例 $cDrive = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DeviceID='C:'" # 计算并存储可用空间(GB,取整) $cFreeSpaceGB = [int]($cDrive.FreeSpace / 1GB) # 计算并存储总容量(GB,取整) $cSizeGB = [int]($cDrive.Size / 1GB)
方法二:管道过滤后提取
如果习惯用管道处理,也可以先获取所有磁盘再筛选C盘,再提取格式化后的值:
# 获取C盘格式化后的容量信息 $cDriveData = Get-CimInstance -ClassName Win32_LogicalDisk | Where-Object DeviceID -eq 'C:' | Select-Object @{Name='FreeSpaceGB'; Expression={[int]($_.FreeSpace / 1GB)}}, @{Name='SizeGB'; Expression={[int]($_.Size / 1GB)}} # 分别存入变量 $cFreeSpaceGB = $cDriveData.FreeSpaceGB $cSizeGB = $cDriveData.SizeGB
两种方法最终都能得到你需要的两个变量,直接调用$cFreeSpaceGB和$cSizeGB就能查看对应数值。
内容的提问来源于stack exchange,提问作者Michal Stoklasa
相关产品推荐
相关产品推荐

