忍者ブログ
JavaScript , Java , DOS , HTML(CSS) , JSP , SQL , VB , VBScript , ・・・etc などの覚書
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ディスクの空き容量が少なくなった場合、管理者にメッセージを送付する方法
(全てDOSコマンドで行う場合)

【コマンド】
setlocal enabledelayedexpansion

net use Z: \\サーバのアドレス\C$   ・・・①

cd /d Z:

for /f "skip=4 tokens=1-4 delims= " %%b in ('dir "*"') do (  ・・・②
if "%%c"=="個のディレクトリ"  set moto=%%d
)

for /f "tokens=1-4" %%a in ('echo %moto%') do set Aki=%%a%%b%%c%%d ・・・③

set keta=/%Aki%

rem 999MB以下の場合  ・・・④
if %keta:~-10,1%==/ (
 goto :C_NG
)

rem 1GB以上の場合  ・・・⑤
if %keta:~-11,1%==/ (
set aaa=%Aki:~0,8%
 goto :C_OK1
)

rem 10GB以上の場合  ・・・⑥
if %keta:~-12,1%==/ (
 goto :C_END
)

:C_OK1

rem 4GB以下ならメッセージを送る
set /a ccc = 40000000

if %aaa% LEQ %ccc% (  ・・・⑦
  goto :C_NG
) else (
 goto :C_END
)

:C_NG
set errmsg=空き容量がありません UOPPIF01\C ⇒ 空き%moto%バイト
net send 192.168.160.112 %errmsg%     ・・・⑧


:C_END
net use /YES /delete z:   ・・・⑨

【解説】
①容量を調べる為に、調べたいサーバのディスクをネットワークディスクとして接続する
②dirコマンドを実行し、最後に表示されるディスク空き容量を調べる
③dirで表示される空き容量は、1000単位でカンマ区切りされている為、
 カンマを取り除き、変数(Aki)にセットする
④DOSの制限で、1000000000以上の数値は扱えない。
  そこで、比較を行う為、桁数を取得し、頭8文字の数値を取得する
  999MB以下は、比較する前にNGなので、すぐC_NGに移動
⑤1GB以上は、頭8桁を取得し、C_OK1へ移動
⑥10GB以上は、問題なくOKなので、C_ENDへ移動
⑦エラー表示させたい最低の容量をセットし、取得した空き容量と比較
 LEQ=以下
⑧net send で管理者にメッセージを送付
⑨①で接続したネットワークディスクを切断させる

ダウンロード(bat)

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
ブログ内検索
カレンダー
03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Copyright © [ moriBlog-memo ] All rights reserved.
Special Template : 忍者ブログ de テンプレート Special Thanks : 忍者ブログCommercial message : [PR]