일괄 스크립팅이 처음입니다. 디렉토리를 폴링하여 파일 이름이 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
감사합니다. foxidrive. 코드를 사용했는데 전혀 실행되지 않습니다. 나는 내 코드에 약간의 변화를 주었고, 그것은 지금까지 마술을 작동시킨 것처럼 보였다 :/f %% P in ('dir/b "C : \ incoming \ LEND *"')에 대해 for do (set/a I + = 1) 그리고 ": countfiles"가 제거되었습니다. – Rage
코드에 오타가있었습니다. 지금 시도해보십시오. 테스트를 거쳤으며 파일 계산을 위해 여기에서 작업하고 있습니다. 17:30에 지점을 테스트해야합니다. – foxidrive