批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[转载代码] [PowerShell每日技巧]硬盘空间GB和使用率(20140314)

When a cmdlet returns raw data, you may want to convert the data into a better format. For example, WMI can report the free space of a drive but reports bytes.

You can then use Select-Object and provide hash tables to take the raw data and convert it to anything you want. This sample illustrates how to convert Freespace into GB and also calculate the percentage of free space:
  1. $Freespace =
  2. @{
  3.   Expression = {[int]($_.Freespace/1GB)}
  4.   Name = 'Free Space (GB)'
  5. }
  6. $PercentFree =
  7. @{
  8.   Expression = {[int]($_.Freespace*100/$_.Size)}
  9.   Name = 'Free (%)'
  10. }
  11. Get-WmiObject -Class Win32_LogicalDisk | Select-Object -Property DeviceID, VolumeName, $Freespace, $PercentFree
复制代码
Here is the result without hash tables:
PS C:\> Get-WmiObject -Class Win32_LogicalDisk |   Select-Object -Property DeviceID, VolumeName, Freespace

DeviceID                          VolumeName                                              Freespace
--------                          ----------                                              ---------
C:                                BatHome                                                 114592428032


And this is the result using hash tables:
PS C:\> Get-WmiObject -Class Win32_LogicalDisk |   Select-Object -Property DeviceID, VolumeName, $Freespace, $PercentFree

DeviceID                 VolumeName                        Free Space (GB)                 Free (%)
--------                 ----------                        ---------------                 --------
C:                       BatHome                                       107                       45


http://powershell.com/cs/blogs/tips/archive/2014/03/14/drive-data-in-gb-and-percent.aspx

返回列表