2010-01-08 3 views
2

처음으로 blat을 사용했지만 보내려는 모든 전자 메일에 대해 두 개의 전자 메일을 보내는 것이 정상적으로 작동하는 것으로 보입니다. 스크립트 발췌 부분은 다음과 같습니다.배치 파일 : Blat가 2 개의 전자 메일을 보내지 않음 1

::If we have a problem we email from here 
CALL :checkForFailures 

:checkForFailures 
IF EXIST %ERROR_FILE% CALL :email & EXIT /B 1 
::pause 
GOTO :eof 

:email 
IF %TOLOG%==Y (
BLAT -f [email protected] -to [email protected] -server myserver -subject "subject text" -body "Body text" -attacht 
::%PROBLEM_LIST% >> %LOGFILE% 
) 

GOTO :eof 

로그 파일을 출력하거나 출력하지 않고 실행하려고했습니다. cmd 프롬프트에서 잘 실행되지만이 스크립트 내에서만 문제가 발생합니다.

::If we have a problem we email from here 
CALL :checkForFailures 
goto :eof 

:checkForFailures 
... 

그렇지 않으면 당신이 한 번 호출하고 실행 call 후 직접 계속 : 도움

답변

2

에 대한

덕분에 어쩌면 당신은 :checkForFailures에 전화 한 후 배치 파일을 중지해야합니다. 이 경우 :checkForFailures 서브 루틴을 다시 실행하고 두 번째 메일을 보냅니다.

+0

감사합니다. CALL이 수행되지 않은 한 checkForFailures가 실행될 것을 기대하지 않았습니다. – sapatos

+0

답변을 수락 할 수 있습니까? – Joey

+0

죄송합니다. Joey는 방금 방법을 알아 냈습니다 ... 또는 당신도 그렇게하기로되어있었습니다. – sapatos

0

전체가 어떻게 작동하나요? 그것을하는 파일 수정/생성하는 플래그가 무엇입니까? 이러한 종류의 트리거는 OS가 수정/작성 트리거를 처리하는 방식 때문에 두 번 계산 될 수 있습니다.

관련 문제