我是Windows批处理编程的新手。如果发现特定错误,我需要编写一个循环函数来执行任务。请参见下面的代码。
我在查找中遇到了问题,该问题正在寻找Kitchen.Error.NoRepDefinied。即使未找到查找关键字,脚本也会执行五次。
请帮助我确定问题所在,并在此处说明问题所在。任何帮助表示赞赏。我正在使用Windows Server 2012 R2。
set /a x=0
:while1
if %x% leq 5 (
echo %x%
call abc.exe > C:\Logs\App_Error.log
set file=C:\Logs\App_error.log
set /a cnt=0
for /f %%a in ('type "%file%"^|find "!Kitchen.Error.NoRepDefinied!" /i /c') do set /a cnt=%%a
if !cnt! NEQ 0 (
if !x! NEQ 5 (
DEL C:\Logs\App_error.log
)
set /a x=x+1
goto :while1
)
echo "OUTSIDE LOOP"
echo The Status is %errorlevel%
call:check_file
exit /b %errorlevel%
)
简化代码。
循环(最多5次)调用该过程。如果该过程未返回错误级别,则如果在日志文件中找不到搜索到的字符串,则退出循环。
set "logFile=c:\logs\App_Error.log"
for /l %%x in (1 1 5) do (
echo Loop %%x
> "%logFile%" call abc.exe
if not errorlevel 1 (
find "Kitchen.Error.NoRepDefinied" "%logFile%" >nul 2>&1 || goto :endLoop
)
)
:endLoop
我不确定errorlevel
您要获得的价值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句