[BATCH] Windows EventViewer Log Remover Tool

Iniciado por Eleкtro, 31 Octubre 2014, 09:23 AM

0 Miembros y 1 Visitante están viendo este tema.

Eleкtro

Ayer tuve que utilizar el visor de eventos de Windows para obtener información de depuración de un "crash" y me encontré que tenia unos 5.000 registros de todo tipo, un coñazo para eliminarlos uno a uno, y no se pueden eliminar todos a la vez desde la GUI, el CCLEANER no limpia este tipo de basura, así que decidí escribir este pequeño Script en Batch para reciclar los registros.

Quizás a alguien más le sirva de utilidad como complemento de limpieza :P

Código (dos) [Seleccionar]
@Echo OFF & Title Windows EventViewer Log Remover Tool, By Elektro.

Set "SC=%SystemRoot%\System32\SC.exe"
Set "WEVTutil=%SystemRoot%\System32\WEVTutil.exe"

:: Save the current EventViewer service status.
Set "Service.Status="

For /F "Tokens=3 Delims= " %%# In (
'Reg.exe Query "HKLM\SYSTEM\CurrentControlSet\Services\EventLog" /v "Start" ^| Find /I "0x"'
) Do (
If "%%#" EQU "0x2" (Set "Service.Status=auto")
If "%%#" EQU "0x3" (Set "Service.Status=demand")
If "%%#" EQU "0x4" (Set "Service.Status=disabled")
)

( :: Start EventViewer service.
"%SC%" Config "EventLog" start= "demand"
"%SC%" Start  "EventLog"
)1>Nul 2>&1

:: List logs and delete them.
For /F "Delims=" %%# In (
'"%WEVTutil%" EL'
) Do (
Echo %%#
"%WEVTutil%" CL "%%#"
)

( :: Stop and restore EventViewer service status.
"%SC%" Stop   "EventLog"
"%SC%" Config "EventLog" start= "%Service.Status%"
)1>Nul 2>&1

Pause&Exit /B 0


Saludos








thebatchhacker.net


Eleкtro

De nada

Por cierto, los registros del Windows Event Viewer los pueden encontrar aquí:

C:\Windows\System32\winevt\Logs

Pueden verlos haciendo doble-click encima del archivo.

Saludos








Wickown


FranciskoAsdf

Gracias Elektro!, siempre aportando códigos útiles.!

Saludos y se guarda en la biblioteca!!!
Asdf debería ser algún tipo de función.