批处理脚本的新手。尝试编写一个脚本,通过轮询目录来检查文件名以 LEND 开头的文件,如果在 17:30 之前未收到该文件,则将日志消息写入日志文件。我已经编写了下面的批处理脚本,只要目录中没有文件,脚本就可以正常运行。一旦我把文件放在那里,它就会停止运行。如果我从该目录中删除文件,则重新启动。你能告诉我哪里出错了吗?谢谢
@echo off
set I=0
set log=C:\logs\alerting.log
:recurse
for /f %%P in ('dir /b "C:\incoming\LEND*"') do (call :countfiles)
set Time=%time:~0,5%
echo Filecount: %I% at Time: %Time% >> %log%
if %Time%==17:30 goto OUT
pause 60
goto :recurse
:countfiles
set /a I+=1
:OUT
if %I%==0 echo LEND Files not received >> %log%
EXIT