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をダブルクリックすれば
....と、一通りやってから、エクスプローラーの「PC」アイコンへのショートカットをデスクトップに作ってダブルクリックした方が早いな、と思ったが....
まあ、コマンドでも表示できますよ、というのを知っていたら何かの役にたつだろう...