Symfoware

Symfowareについての考察blog

Windows コマンドプロンプトでハードディスクのドライブレターと容量を取得する

端末を管理する都合上、
・パソコンに搭載されているハードディスクの容量
・ドライブ名
を知る都合が出てきました。

便利なツールもあるのでしょうが、ちょっとした制限からバッチファイルで
実行する必要があり、調べてみました。



ディスクのドライブレターと容量



diskpartコマンドが使えそう。
Windowsコマンド集 diskpart

diskpart /s list volumeを実行してみたのですが・・・

C:\>diskpart /s list volume

Microsoft DiskPart version 5.1.3565

Copyright (C) 1999-2003 Microsoft Corporation.
コンピュータ: PN0427

DiskPart はスクリプト ファイルを開けなかったか、または読み取れませんでした。
指定したファイルが存在することを確認してください。



/sに続いて、list volumeと記載されたファイル名を指定する必要があります。
使用するファイルの数を増やしたくないので、なんとかならないか調べたところ、


echo list volume | diskpart


echoで必要な文字列を出力し、それをコマンドに渡してやることで、
スクリプトファイルが必要なコマンドでも、ファイルを使用せずに実行することが出来ました。

このままだと、DVDドライブの情報も出力されるので、


echo list volume | diskpart | find "NTFS"



こうしてやることで、ハードディスクの情報だけ抜き出すことが出来ました。



ドライブの総容量と空き容量を取得する



ドライブの容量と空き容量を取得するには
fsutil volume diskfreeコマンドを使用することにします。

これを踏まえたコマンドの全体像はこんな感じ。

@echo off

for /F "tokens=3-10" %%I in ('echo list volume ^| diskpart ^| find "NTFS"') do (
    echo %%Iドライブ
    fsutil volume diskfree %%I:
)

pause






実行してみると・・・

Cドライブ
空きバイト総数             : 39072829440
バイト総数                 : 70951231488
利用可能な空きバイト総数     : 39072829440
Dドライブ
空きバイト総数             : 451033088
バイト総数                 : 9072482304
利用可能な空きバイト総数     : 451033088
続行するには何かキーを押してください . . .







関連記事
  1. 2010/01/21(木) 12:20:59|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<jQueryでボタンのクリックイベントを制御する | ホーム | Windows バッチプログラムでDNSとWINSのIPアドレスを変更する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/291-6630944d
この記事にトラックバックする(FC2ブログユーザー)