Попробуйте WEvtUtil.exe
Через графический интерфейс невозможно очистить все журналы одновременно. По крайней мере, не то, что я когда-либо нашел. :)
Цикл и удаление с промежуточным файлом
Вот пакетный файл, который использует WEVTUTIL.exe для вывода журналов в текстовый файл, а затем использует этот текстовый файл для удаления каждого из журналов.
WEVTUTIL EL > .\LOGLIST.TXT
for /f %%a in ( .\LOGLIST.TXT ) do WEVTUTIL CL "%%a"
del .\LOGLIST.TXT
timeout 30
Если вам небезопасно иметь все это в одном пакетном файле, вы можете сохранить его в двух отдельных файлах и затем запускать один за другим:
(Пакет "Nuke" просто выдаст ошибку, если не найдет «loglist.txt» в своем текущем каталоге.)
Заполняем-LogList.cmd
@ECHO OFF
REM Source: https://superuser.com/a/655185/389368
WEvtUtil.exe enum-logs > .\LOGLIST.TXT
Nuke-LogList.cmd
@ECHO OFF
REM Source: https://superuser.com/a/655185/389368
for /f %%a in ( .\LOGLIST.TXT ) do WEvtUtil.exe clear-log "%%a"
del .\LOGLIST.TXT
timeout 30
Зацикливание и удаление напрямую
Как указал Логман в своем ответе, это можно еще более сократить (и устранить необходимость в промежуточном текстовом файле), используя что-то вроде (%'s double для пакетного файла):
for /f %%a in ('WEVTUTIL EL') do WEVTUTIL CL "%%a"
timeout 30
Запуск от имени администратора!
Какой бы путь вы ни выбрали, убедитесь, что вы "Запуск от имени администратора".
Самое простое решение, которое я нашел. Использую его с Vista. :)