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: /superuser//a/655185/389368
WEvtUtil.exe enum-logs > .\LOGLIST.TXT
परमाणु-LogList.cmd
@ECHO OFF
REM Source: /superuser//a/655185/389368
for /f %%a in ( .\LOGLIST.TXT ) do WEvtUtil.exe clear-log "%%a"
del .\LOGLIST.TXT
timeout 30
सीधे लूप करें और हटाएं
जैसा कि लोगमैन ने अपने जवाब में कहा , इसे और छोटा किया जा सकता है (और मध्यवर्ती पाठ फ़ाइल की आवश्यकता को समाप्त कर सकते हैं) कुछ इस तरह का उपयोग करके (बैच फ़ाइल के लिए% डबल):
for /f %%a in ('WEVTUTIL EL') do WEVTUTIL CL "%%a"
timeout 30
व्यवस्थापक के रूप में चलाएं!
आप जो भी रास्ता चुनते हैं, आप "रन ऐज एडमिनिस्ट्रेटर" को सुनिश्चित करें।
सबसे आसान समाधान मैंने पाया है। विस्टा के बाद से इसका इस्तेमाल कर रहे हैं। :)