Windows-イベントログ削除コマンド

Windowsイベントログとは

イベントログとは

イベントログとは、Windows がシステム内で発生した事象(イベント)を記録したものです。

ログには、アプリケーションのインストール、サービスの起動と停止、アプリケーションの異常終了、ハードウェア障害の検知などの情報が記録されます。

OSの稼働状況を記録する「システム・ログ」、アプリケーションの稼働状況を記録する「アプリケーション・ログ」、ログオンや警告設定の結果を記録する「セキュリティ・ログ」などに分類されています。


イベントビューアとは

イベントビューアとは、イベントログを参照するためのアプリケーションです。

管理ツールから、[イベントビューア]アイコンをクリックすることで起動できます。

コマンドプロンプトから「eventvwr」コマンドを実行することで、イベントビューアを起動することもできます。


イベントログのクリア

イベントビューアから対象となるログを右クリックして、「すべてのイベントを消去」をクリックすることでイベントログをクリアすることができます。

もしくは、コマンドプロンプトから「wevtutil.exe」を実行することでイベントログをクリアすることができます。


Windowsイベントログ削除バッチファイル

まず、全てのイベントログの名前を取得して、一時ファイルに出力します。

その後、一時ファイルを参照して、イベントログをひとつずつクリアしていきます。


@echo off

REM バッチファイルの実行時刻を取得する
setlocal enabledelayedexpansion
set EXEC_DATE=%date:~-10,4%%date:~-5,2%%date:~-2,2%
set EXEC_TIME=%time: =0%
set EXEC_TIME=%EXEC_TIME:~0,2%%EXEC_TIME:~3,2%%EXEC_TIME:~6,2%

REM 一時ファイル用のパスを作成する
set EVENTLOG_LIST=%~dp0\eventlog_%EXEC_DATE%%EXEC_TIME%.list
if exist %EVENTLOG_LIST% ( del %EVENTLOG_LIST% )

REM 全てのイベントログの名前をファイルに出力する
wevtutil el > %EVENTLOG_LIST%
if not "%ERRORLEVEL%" == "0" (
  echo ERROR: Failed to get event list : %EVENTLOG_LIST%
  exit /b 1
)

REM ファイルを参照して、イベントログをクリアする
for /f "delims=" %%a in (%EVENTLOG_LIST%) do (
  wevtutil cl "%%a"
  if not "%ERRORLEVEL%" == "0" (
    echo ERROR: Failed to clear event log : "%%a"
    if exist %EVENTLOG_LIST% ( del %EVENTLOG_LIST% )
    exit /b 1
  )
)

REM 一時ファイルを削除する
if exist %EVENTLOG_LIST% ( del %EVENTLOG_LIST% )

exit /b 0

関連ページ