我正在尝试创建一个批处理文件,首先我希望运行for循环来清除事件日志。然后运行一些不同的命令,如like、/scannow或systeminfo。但是如果我把这些命令放在for循环之前。它在运行for循环之前停止。如果我在写入for循环之后放置这些命令,那么在运行for循环之后它就会关闭cmd。有人可以提供正确的脚本来完成所有这些任务与一个批处理文件。
示例:
for /f %x in ('wevtutil el') do wevtutil cl "%x"发布于 2016-12-15 19:00:35
从批处理片段来看,唯一真正的“意外结果”是在前两个相关的IF语句之间缺少一个符号。否则,以下内容将在我的Windows 7和Windows 2008服务器上运行(我削弱了事件日志的实际清除):
FOR /F "tokens=1,2*" %%V IN ('bcdedit.exe') DO SET adminTest=%%V & IF (%adminTest%)==(Access) goto :noAdmin
for /F "tokens=*" %%G in ('wevtutil.exe el') DO (call :do_clear "%%G")
pause
systeminfo.exe
pause
echo.
goto :exit
:do_clear
@echo =============
echo clearing %1
wevtutil.exe gl %1
@echo =============
goto :eof
:noAdmin
:exit 一个未调用的批处理程序:将退出而不返回到第一个批处理程序。我不知道你的剧本怎么会过早退出。
发布于 2016-12-15 23:06:02
cls
@ECHO OFF
pause
FOR /F "tokens=1,2*" %%V IN ('bcdedit') DO SET adminTest=%%V
IF (%adminTest%)==(Access) goto noAdmin
for /F "tokens=*" %%G in ('wevtutil.exe el') DO (call :do_clear "%%G")
sfc /scannow
Pause
echo.
echo goto theEnd
:do_clear
echo clearing %1
wevtutil.exe cl %1
goto :eof
:noAdmin
:EXIThttps://serverfault.com/questions/820964
复制相似问题