PowerShell

使用 Windows PowerShell 顯示本機磁碟機的空間狀態

使用 PowerShell 的 Get-VolumeGet-WmiObject 等指令,取得電腦中所有硬碟的使用量資訊。

以下介紹如何在 Windows 中使用 PowerShell 查詢硬碟空間的使用情況,檢查儲存空間是否充足。

查詢硬碟使用量

若要以 PowerShell 查詢硬碟的使用量,可以使用 Get-Volume 指令:

# 列出磁碟機資訊
Get-Volume
DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining     Size
----------- ------------ -------------- --------- ------------ ----------------- -------------     ----
D           新增磁碟區   NTFS           Fixed     Healthy      OK                      1.47 GB  19.1 GB
C           OS           NTFS           Fixed     Healthy      OK                     48.97 GB 329.7 GB
            RECOVERY     NTFS           Fixed     Healthy      OK                     49.49 MB   499 MB

除此之外,也可以使用 Get-WmiObject 指令來列出磁碟機的資訊:

# 列出磁碟機資訊
Get-WmiObject -Class Win32_LogicalDisk
DeviceID     : C:
DriveType    : 3
ProviderName :
FreeSpace    : 52579672064
Size         : 354009739264
VolumeName   : OS

DeviceID     : D:
DriveType    : 3
ProviderName :
FreeSpace    : 1581887488
Size         : 20505681920
VolumeName   : 新增磁碟區

我們也可以先取得所有的硬碟資訊,再用 foreach 自行處理後輸出自己想要的報表格式:

# 取得所有硬碟的資訊
$Disks = Get-WmiObject -Class Win32_LogicalDisk

# 輸出每一個硬碟的資訊
foreach ($Disk in $Disks) {
  "------------"
  "磁碟機代碼:{0}" -f $Disk.DeviceID
  "磁碟機名稱:{0}" -f $Disk.VolumeName
  "磁碟機大小:{0:0.0} GB" -f ($Disk.Size / 1GB)
  "剩餘空間:{0:0.0} GB" -f ($Disk.FreeSpace / 1GB)
  $Used = ([int64]$Disk.size - [int64]$Disk.FreeSpace)
  "已用空間:{0:0.0} GB" -f ($Used / 1GB)
  $Percent = ($Used * 100.0) / $Disk.Size
  "已用比例:{0:N0} %" -f $Percent
}
------------
磁碟機代碼:C:
磁碟機名稱:OS
磁碟機大小:329.7 GB
剩餘空間:49.0 GB
已用空間:280.7 GB
已用比例:85 %
------------
磁碟機代碼:D:
磁碟機名稱:新增磁碟區
磁碟機大小:19.1 GB
剩餘空間:1.5 GB
已用空間:17.6 GB
已用比例:92 %

查詢硬碟與分割區資訊

若要查詢硬碟資訊,可以使用 Get-Disk 指令:

# 取得所有硬碟資訊
Get-Disk
Number Friendly Name              Serial Number                    HealthStatus         OperationalStatus      Total Size Partition
                                                                                                                          Style
------ -------------              -------------                    ------------         -----------------      ---------- ----------
0      HFS512G32MND-3210A         FJ67N083311307G6G                Healthy              Online                  476.94 GB GPT

若要查詢低階的硬碟分割區資訊,可以使用 Get-Partition 指令:

# 取得所有分割區資訊
Get-Partition
   DiskPath: \\?\scsi#disk&ven_hfs512g3&prod_2mnd-3210a#4&27fa6d6&0&000000#{53f5630
7-b6bf-11d0-94f2-00a0c91efb8b}

PartitionNumber  DriveLetter Offset                      Size Type
---------------  ----------- ------                      ---- ----
1                            1048576                   260 MB System
2                            273678336                  16 MB Reserved
3                C           290455552               329.7 GB Basic
4                D           354300198912             19.1 GB Basic
6                            374806151168           119.49 GB Unknown
7                            503108861952              7.9 GB Unknown
5                            511586598912              499 MB Recovery

參考資料:iT邦幫忙

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago