0

バッチ スクリプトの初心者。ディレクトリをポーリングして 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
4

2 に答える 2

0

コードは countfiles から終了します。これを試して:

:countfiles
set /a I+=1
goto:eof
于 2013-05-06T13:36:01.577 に答える