smailを使ってディスク容量をメール送信する方法

Windowsのコマンドラインからメールを送信することができるsmailをつかってディスク容量をメール送信する方法です。 Windowsサーバなどでディスク容量を簡易的に監視する方法として使えるかと思います。 メールの件名に容量を表示することでわざわざ本文を開く必要がなくなります。

set PATH=%PATH%;C:\smail-v4.13
cd C:\home\logs

echo "" > .\diskspace.txt

for /F "tokens=1,2,*" %%I in ('fsutil volume diskfree C:') do (
    if %%I==利用可能な空きバイト総数 (
        call :trim %%K > diskspace.txt 2>&1
    )
)

set /p DATA=<diskspace.txt

smail -hyourhost -s"Diskspace %DATA%" -T"" to@hoge.com -i

:trim
@echo off
set str=%~1
set num=%str:~0,-3%
set /a M=1024
set /a int=%num% / %M%
set MB=%int%
echo %MB%MB
exit /b 0