このブログを検索

2024/06/05

ディスク空き容量の表示

Windowsでディスク空き容量を確認する方法はいろいろあるが、私は「エクスプローラー」を開いて、「PC」を選択して表示される情報を見ているが、いちいちエクスプローラーを開いて、PCを選択して、とするのが面倒なので、コマンドでできないかなと調べた。

wmic diskdrive get size というコマンドがあるが、結果がバイトで表示されるのでわかりにくい。

> wmic diskdrive get size

Size

1000202273280

2000396321280

2000396321280


この結果を加工してGB単位で表示するという方法もあるが面倒で、
Powershellだとそれほど面倒ではない。

> $disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object Size, FreeSpace
> Write-Host ("{0}GB free" -f [math]::truncate($disk.FreeSpace / 1GB))
1411GB free


このコマンドを aki.ps1 などという名前でスクリプトとして保存して実行すればよい。
ただし、powershellスクリプトを実行する場合右クリックして「Powershellで実行」をしなければならない。(拡張子の設定でダブルクリックで実行できるようになるかもしれないがデフォルトでは実行されない)

さらに、powershellのスクリプトはデフォルトでは実行許可されていない。

さらに、スクリプトは実行するとすぐ閉じてしまうので結果が見えない。

などを考慮して、以下のようにした。


#powershellスクリプトの最期に pauseを追加 「aki.ps1」という名前で保存
#これはCドライブのみ表示

$disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='C:'" | Select-Object 
Size, FreeSpace
Write-Host ("{0}GB free" -f [math]::truncate($disk.FreeSpace / 1GB))
pause


#以下のようなコマンドを書いたバッチファイルを「aki.bat」という名前で保存
#このバッチファイルでpowershellスクリプトを実行可能にして起動する。

powershell -NoProfile -ExecutionPolicy Unrestricted .\aki.ps1


そして、aki.batとaki.ps1を同じ場所において、aki.batをダブルクリックすれば
こんな感じで表示され、Enterキーを押せば閉じる。




....と、一通りやってから、エクスプローラーの「PC」アイコンへのショートカットをデスクトップに作ってダブルクリックした方が早いな、と思ったが....

まあ、コマンドでも表示できますよ、というのを知っていたら何かの役にたつだろう...