- PR -

【Win2000srv】ドライブ使用容量を記録したい

投稿者投稿内容
じゃく
会議室デビュー日: 2006/04/11
投稿数: 3
投稿日時: 2006-04-12 22:51
>まだコマンド内容を詳しく見ていないのでどうなっているのか
>よく判りませんが、今は空き容量が出力されますが、ドライブの
>総容量−空き容量で「使用量」を出力する事は可能なのでしょうか?

むずかしいです。
今回たまたま空き容量だったのでよかったのです。
コマンドプロンプトで
dir C:
と打ってみてもらうとわかるのですが、最後の行に

35 個のファイル 69,908 バイト
11 個のディレクトリ 1,234,567,890 バイトの空き領域

って出るでしょう。この空き容量の表示を取り込んで加工しているのです。
各ドライブの空き容量はこれでわかりますが総容量を求めようとすると
該当するコマンドでぴったりするモノが見つかりません。
(diskpart コマンドでもバイト単位の容量は出ません。wmicコマンドはないかな)
空き容量で我慢するか、du などのコマンドをインストールすることで解決するしかないと思います。

yyyy/nn/dd hh:ss のほうがいいのでしたら、以下のようにすればいいと思います。


@echo off

dir C:|find "空き領域">dir.txt
for /F "tokens=3 delims= " %%a in ( dir.txt ) do set CDIR=%%a
dir D:|find "空き領域">dir.txt
for /F "tokens=3 delims= " %%a in ( dir.txt ) do set DDIR=%%a

set CDIR=%CDIR:,=%
set DDIR=%DDIR:,=%

echo %date:~-10% %time:~0,5%,%CDIR%,%DDIR% >>log.txt

del dir.txt
ホー×2のパパ
ベテラン
会議室デビュー日: 2003/11/23
投稿数: 94
投稿日時: 2006-04-13 11:44
当方では、自作のプログラムを使い、
クライアントPC全数のハードディスクの空き容量を集中監視しています。
そのプログラムの一部を切り出し、
次のようなプログラムを作成してみました。

次のようなコマンドを実行すると
e:\hoge\disksz D >> e:\hoge\disksize.txt
 (パラメータは、ドライブ文字)

次のようなテキストが作成されます。

2006/04/13 10:54:32 D 3419529216 6014832640 9434361856
(実行日時 ドライブ文字 使用 空き 総容量 の並びです。)

e:\hoge\disksz /? とやると 説明が表示されるようには、まだしていません。
http://homepage2.nifty.com/ho-ho-/dir_papa/Disksz.exe
に公開してみましたので、良かったら使ってみてください。

※ローカルドライブ(GetDriveType=3)以外を指定すると空振りします。
※エクセルにそのまま貼り付けることを想定し、タブ区切りとしています。
※十分なテストを行っているわけではありませんので、あくまで、自己責任でお願いします。

ひよっ子
常連さん
会議室デビュー日: 2006/04/07
投稿数: 37
投稿日時: 2006-04-13 14:23
じゃく様、ホー様レスありがとうございます。
本当にご丁寧に回答いただき誠に感謝しております。

皆様のおかげで今回すごく勉強させていただきました。

じゃく様、
最後まで私の質問に丁寧にお答えいただき誠にありがとうございます。
総容量は私もコマンドを調べましたがピンとくるものがないな〜と感じて
おりました。
日付形式の修正もありがとうございます。さっそくバッチファイルを修正しました。

ホー様、
ありがとうございます。ここまで教えていただいてほんとに嬉しいです!
さっそくEXEファイルを実行してみたのですが、変化がありませんでした。。
アップしていただいたのに誠に失礼なのですがこれはどう使えば宜しいでしょうか。
ホー×2のパパ
ベテラン
会議室デビュー日: 2003/11/23
投稿数: 94
投稿日時: 2006-04-13 14:50

>さっそくEXEファイルを実行してみたのですが、変化がありませんでした。。
>アップしていただいたのに誠に失礼なのですがこれはどう使えば宜しいでしょうか。


例示をもう少し詳しく書きますと、

1)Eドライブに、 e:hoge フォルダーを作成します。
2)ダウンロードした Disksz.exe を、 e:\hoge フォルダーにコピーします。
3)適当なバッチファイル(例えば test.bat )を適当なフォルダーに作成します。
4)バッチファイルの中身は、
 e:\hoge\disksz D >> e:\hoge\disksize.txt  です。
5)このバッチファイルを実行します。
6)e:\hoge\disksize.txtが作成されます。
7)メモ帳ででも、開いてみてください。


どのように実行したのか?、
何が変化しなかったのか?、
を明示してもらうと、どこを間違えているのか説明できるかもしれません。

 
ひよっ子
常連さん
会議室デビュー日: 2006/04/07
投稿数: 37
投稿日時: 2006-04-13 15:13
ほーさま補足レスありがとうございます。

Dドライブ中のAAAフォルダ(D:\AAA)にホーさまのEXEファイルを
置いて実行しました。
黒いDOS画面が一瞬表示され、何も起こらない状態です。

Eドライブないんです〜(笑
ローカルはC,Dしかありません。。
ホー×2のパパ
ベテラン
会議室デビュー日: 2003/11/23
投稿数: 94
投稿日時: 2006-04-13 15:52
>Dドライブ中のAAAフォルダ(D:\AAA)にホーさまのEXEファイルを置いて
あるのであれば、それを生かした説明をします。

まず、disksz.exe をダブルクリックするのではありません!

1)エクスプローラを開きます。
2)左ペインで、D:\AAA をクリックします。
3)右ペインで、右クリック、新規作成、テキストドキュメント を選択
4)新規テキストドキュメント.txt のファイル名を
   test.bat に変更してエンターキー
5)test.bat を右クリックして、編集を選択
6)開いたメモ帳の画面に、
d:\AAA\disksz D >> d:\AAA\disksize.txt
の文字を埋める。
7)上書き保存し、メモ帳を閉じる
test.bat をダブルクリック
9)d:\AAA\disksize.txt が作成されるので、メモ帳で中身をみる。


ひよっ子
常連さん
会議室デビュー日: 2006/04/07
投稿数: 37
投稿日時: 2006-04-13 16:02
ホーさまレスありがとうございます。

すいません・・・初心者まる出しですね(苦笑)

さっそく教えていただいたとおり実行しました。
これはすばらしい!ディスクの内容がすぐ判ります。

今回は本当に大変勉強になりました。

皆さまほんと優しすぎ!
ホー×2のパパ
ベテラン
会議室デビュー日: 2003/11/23
投稿数: 94
投稿日時: 2006-04-15 23:29

>e:\hoge\disksz /? とやると 説明が表示されるようには、まだしていません。
>http://homepage2.nifty.com/ho-ho-/dir_papa/Disksz.exe
>に公開してみましたので、良かったら使ってみてください。
せっかく作ったプログラムなので、
また、ネットワーク越しにも使えるようにするため、
次のような手を加えましたので、よかったら使ってみてください。
また、無責任ながら、十分なテストを行っていませんので、
繰り返しますが、自己責任でお使いください。

1)e:\hoge\disksz /? とやると、簡単な説明が表示されるようにしました。
2)ネットワークドライブも対象にしました。
3)ドライブ文字の指定を省略した場合、
 ローカルディスクとネットワークドライブ全数を対象にしました。
4)勝手ながら、プログラム名を当方で作成している他のプログラムシリーズにあわせました。

http://homepage2.nifty.com/ho-ho-/dir_papa/NHDisksz.exe

スキルアップ/キャリアアップ(JOB@IT)