Windowsコマンドプロンプトでディスクの使用量をチェックし、警告メールを自動送信する方法

この記事では、Windowsのコマンドプロンプトを利用して、ディスクの使用量をチェックし、特定の閾値を超えた場合に警告メールを自動的に送信する方法について解説します。具体的なコード例とその詳細、さらに応用例を通じて、システム管理の一環としての活用法を学びましょう。

目次

コマンドプロンプトとは?

コマンドプロンプトは、Windowsオペレーティングシステムにおいて、ユーザーがコンピュータにテキストベースの「コマンド」を入力して直接操作するためのインターフェースです。このコマンドは、特定の操作を行うための指示や命令をコンピュータに伝えるもので、ファイルの操作、システム設定の変更、ネットワークの管理など、様々なタスクを実行することが可能です。グラフィカルユーザーインターフェース(GUI)の前身として、初期のコンピュータシステムで主に使用されていましたが、今日でも多くの専門家や上級ユーザーが高度なタスクを効率的に実行するためにコマンドプロンプトを使用しています。

基本コードの解説

ディスクの使用量をチェックするための基本的なコードは以下のとおりです。

@echo off
for /f "tokens=4,5" %%a in ('fsutil volume diskfree C:') do set freeSpace=%%a%%b
if %freeSpace% lss 10000000000 (blat -to example@example.com -subject "警告: ディスク容量不足" -body "Cドライブの空き容量が10GB未満です。")

このコードでは、`fsutil` コマンドを利用してCドライブの空き容量を取得します。取得した空き容量が10GB未満の場合、`blat` コマンドを使用して警告メールを送信します。`blat`は、コマンドラインからメールを送信するためのツールです。

応用例

複数のドライブをチェック

システムに複数のドライブが存在する場合、それぞれのドライブの容量をチェックすることも可能です。

@echo off
for %%d in (C: D: E:) do (
    for /f "tokens=4,5" %%a in ('fsutil volume diskfree %%d') do set freeSpace=%%a%%b
    if %freeSpace% lss 10000000000 (blat -to example@example.com -subject "警告: %%d ディスク容量不足" -body "%%dドライブの空き容量が10GB未満です。")
)

空き容量に応じた警告レベル

空き容量に応じて、警告のレベルを変更することもできます。

@echo off
for /f "tokens=4,5" %%a in ('fsutil volume diskfree C:') do set freeSpace=%%a%%b
if %freeSpace% lss 5000000000 (blat -to example@example.com -subject "緊急警告: ディスク容量不足" -body "Cドライブの空き容量が5GB未満です。")
else if %freeSpace% lss 10000000000 (blat -to example@example.com -subject "警告: ディスク容量不足" -body "Cドライブの空き容量が10GB未満です。")

ログの出力

ディスクの使用量をチェックする際に、ログを出力して後で確認することもできます。

@echo off
for /f "tokens=4,5" %%a in ('fsutil volume diskfree C:') do set freeSpace=%%a%%b
echo %date% %time%: Cドライブの空き容量 %freeSpace% >> diskcheck.log
if %freeSpace% lss 10000000000 (blat -to example@example.com -subject "警告: ディスク容量不足" -body "Cドライブの空き容量が10GB未満です。")

特定のファイルやフォルダのサイズを確認

特定のファイルやフォルダがどれだけの容量を占めているかを確認することもできます。

@echo off
for /f "tokens=3" %%a in ('du -q C:\example_folder') do set folderSize=%%a
echo %date% %time%: C:\example_folder のサイズ %folderSize% >> foldercheck.log
if %folderSize% gtr 5000000000 (blat -to example@example.com -subject "警告: フォルダ容量超過" -body "C:\example_folderのサイズが5GBを超えています。")

まとめ

コマンドプロンプトを使用してディスクの使用量を自動的にチェックし、特定の条件を満たした場合に警告メールを送信する方法を学びました。この技術を活用することで、システムの健全な運用をサポートすることができます。

コメント

コメントする

目次