こんにちは!今回はディスクの容量を取得するコマンドを紹介していこうと思います。
ディスクの空き容量は1台だけの確認なら、エクスプローラを開くだけで解決します。
しかし、チェックしなくてはならないWindows機が大多数の場合、とても手間がかかる作業になります。
そういった場合、手作業でやるよりかはバッチファイルなどにコマンドを記述して、ダブルクリックで完了!のようにしてしまえばだいぶ楽になります。
また、ファイルのコピーを伴うバッチなどで、事前にディスクの空きを確認したい場合もあるでしょう。そういったときにこのコマンドを使って空き容量を取得してみてはいかがでしょうか。
※今回はPowerShellとコマンドプロンプトのコマンドとして説明します。PowerShellのコマンドはコマンドプロンプトでも実行できますので、その際は使い方と合わせて紹介させていただいています。
各パーティションの空き容量を取得する
fsutil
fsutilはWindows標準のCUIプログラムです。ディスク容量を確認する以外にもたくさんのオプションがあります。ですが、空き容量を確認するためだけならば、下記のコマンドで十分です。
fsutil volume diskfree c:

下記のようにテキストファイルに出力してしまえば、回収したりユーザーに提出させたりといった使い方ができると思います。サーバーに出力させてもよいですしね!
fsutil volume diskfree c: > c:\c_drive_freesize.txt
Get-PSDrive
こちらはPowerShellのコマンドです。このコマンド単体で実行した場合でもそれなりに情報を返してくれますが、下記のようにすると、fsutilの時のとは違い、空き領域を値のみで返してくれるので便利です。※PowerShellコマンドをバッチに組み込む際にはコマンドの前に「@Powershell -command」とつけてあげれば実行できます。
(Get-PSDrive -name C).free @Powershell -command (Get-PSDrive -name C).free


このコマンドにもさまざまなプロパティが存在するので、興味のある方は調べてみるとよいでしょう!
get-volume
こちらもPowerShellのコマンドです。こちらもGet-PSDriveと同様に値のみを取得できます。
※こちらも同じくコマンドの前に「@Powershell -command」とつけてあげればコマンドプロンプトで実行できます。
(get-volume C).SizeRemaining @Powershell -command (get-volume C).SizeRemaining


ディスクの情報を取得する
Win32_DiskDrive
おまけとして、ディスクの空き容量以外にも、詳細な情報を取得したい場合に使えるコマンドです。
WMIオブジェクトにWin32_DiskDriveという、ディスク情報をもつオブジェクトが存在します。
このオブジェクトを取得することで、さまざまなディスク情報を取得することができます。
例)製品名やシリアルナンバーなど
活用の仕方はさまざまなので、いろんなケースに応用できると思います。
Get-WmiObject Win32_DiskDrive | Format-List -Property *

あとがき
今回はディスクの空き容量にフォーカスしてコマンドを紹介させていただきました。
どのコマンドも空き容量以外にもいろんな情報が取得できるので、興味のある方は調べてみるとよいと思います。
文中でも触れましたが、何かをコピーするバッチ処理を行いたいときに、あらかじめ空き容量が確保されているかを確認するのに用いるのが私がよく使うシチュエーションです。処理が比較的早いという理由から「Get-PSDrive」を使ったものをよく使いますね。
バッチ処理以外にも、ログオンスクリプトなどに登録して空き容量の調査に使ってみたりもできますね!コマンドはみんなアイディア次第でいろんな可能性があります。
何かのお役に立てれば幸いです。
★活用例を投稿しました。参考になればうれしいです。
コメント