2011年3月8日火曜日

イベント ログを一括削除する

Windows 7 の すべてのイベントログをクリアする方法です。

以下をメモ帳に貼り付け、ファイル名を ClearAllEventLogs.bat などにして保存して実行します。

@echo off
FOR /F "tokens=1,2*" %%V IN ('bcdedit') DO SET adminTest=%%V
IF (%adminTest%)==(Access) goto theEnd
for /F "tokens=*" %%G in ('wevtutil.exe el') DO (call :do_clear "%%G")
goto theEnd
:do_clear
echo clearing %1
wevtutil.exe cl %1
goto :eof
:theEnd
全てのイベントをクリア.bat
SevenForums さん などより拝借しました。

イベント ビューアーには「全てのログを削除」がありませんので、wevtutil.exe コマンドを使うのですが、これもあまり融通が利きません。

必要な引数が指定されていません。

必ずログ名が必要

そのため、さらにバッチファイルが必要になります。
wevtutil.exe elでログ名を取得して、wevtutil.exe clで削除しています。


参考にさせていただきました。
イベントログにスクリプトからアクセスする方法