VBS【ドライブ残量2】
お世話になります。
WindowsXP環境で下記コードのVBSがあります。
コード---------------------------------------------------
'********変数定義********
Dim fso, dc, net, s, outS, LOG
Dim D_freespace
Dim E_freespace
Set fso = CreateObject("Scripting.FileSystemObject")
Set net = CreateObject("WScript.Network")
Set D_drive = fso.GetDrive(fso.GetDriveName("C:\"))
Set E_drive = fso.GetDrive(fso.GetDriveName("D:\"))
'********メッセージ変数************
D_GBMSG = Now & " 現在の " & D_drive & " ドライブ空き容量は "
E_GBMSG = Now & " 現在の " & E_drive & " ドライブ空き容量は "
GBMSG2 = "GB"
'********判定メッセージ変数************
GREAT_MSG = "安全な空き領域です。"
ATTENTION_MSG = "残量が平均以下ですが、まだ安全な空き領域です。"
CRITICAL_MSG = "危険な空き領域です。"
'********空き領域取得************
D_freespace = ((D_drive.FreeSpace / 1024) /1024) / 1024
E_freespace = ((E_drive.FreeSpace / 1024) /1024) / 1024
'********空き領域表示************
'wscript.echo D_GBMSG & FormatNumber(D_freespace, 1) & GBMSG2
'********ドライブ空き領域情報取得************
D_DRIVE_MSG = D_GBMSG & FormatNumber(D_freespace, 1) & GBMSG2
E_DRIVE_MSG = E_GBMSG & FormatNumber(E_freespace, 1) & GBMSG2
'********Dドライブサイズ判定処理************
if FormatNumber(D_freespace, 0) > 120 then
wscript.echo GREAT_MSG
HANTEI_MSG = GREAT_MSG
else
if FormatNumber(D_freespace, 0) > 70 then
wscript.echo ATTENTION_MSG
HANTEI_MSG = ATTENTION_MSG
else
if FormatNumber(D_freespace, 0) < 50 then
wscript.echo CRITICAL_MSG
HANTEI_MSG = CRITICAL_MSG
end if
end if
end if
'********Dドライブ空き容量判定ログ出力処理************
Set LOG = fso.CreateTextFile("D:\VBS\ドライブ残量\DRIVElog.txt", 2)
LOG.WriteLine("★★★********** " & D_drive & "ドライブ情報 表示 開始 **********★★★")
LOG.WriteLine(D_DRIVE_MSG)
LOG.WriteLine(HANTEI_MSG)
LOG.WriteLine("★★★********** " & D_drive & "ドライブ情報 表示 終了 **********★★★")
LOG.WriteBlankLines(1)
LOG.Close
'********Eドライブサイズ判定処理************
if FormatNumber(E_freespace, 0) > 1.5 then
wscript.echo GREAT_MSG
HANTEI_MSG = GREAT_MSG
else
if FormatNumber(E_freespace, 0) > 1.3 then
wscript.echo ATTENTION_MSG
HANTEI_MSG = ATTENTION_MSG
else
if FormatNumber(E_freespace, 0) < 1.1 then
wscript.echo CRITICAL_MSG
HANTEI_MSG = CRITICAL_MSG
end if
end if
end if
'********Dドライブ空き容量判定ログ出力処理************
Set LOG = fso.OpenTextFile("D:\VBS\ドライブ残量\DRIVElog.txt", 8)
LOG.WriteLine("★★★********** " & E_drive & "ドライブ情報 表示 開始 **********★★★")
LOG.WriteLine(E_DRIVE_MSG)
LOG.WriteLine(HANTEI_MSG)
LOG.WriteLine("★★★********** " & E_drive & "ドライブ情報 表示 終了 **********★★★")
LOG.WriteBlankLines(1)
LOG.Close
コード---------------------------------------------------
上記VBSを実施後、DRIVElog.txtには下記のように書き換えられます。
ログ----------------------------------------------------------
★★★********** C:ドライブ情報 表示 開始 **********★★★
2009/12/09 9:17:26 現在の C: ドライブ空き容量は 180.5GB
安全な空き領域です。
★★★********** C:ドライブ情報 表示 終了 **********★★★
★★★********** D:ドライブ情報 表示 開始 **********★★★
2009/12/09 9:17:26 現在の D: ドライブ空き容量は 1.7GB
安全な空き領域です。
★★★********** D:ドライブ情報 表示 終了 **********★★★
ログ----------------------------------------------------------
この【180.5GB】【1.7GB】をそれぞれ【181GB】【2GB】と繰り上げで表示したいのですが、その表示方法がわかりません。
ご存じの方、ご教授願いますでしょうか?
宜しくお願い致します。
お礼
素早い回答有難うございます! さっそくWSHの最新版をおとしてみたところ、無事実行できました。 どうも有り難うございました!