텍스트 파일에서 여러 파일 이름을 파싱하고 단일 파일로 연결하는 배치 파일이 있습니다.이 파일은 이전에 here에 대해 설명했습니다. 그러나 일부 명령 (예 : VCS 검사)을 통해 파일을 실행할 때 파일에 오류가 발생하면 문자열에 파일이 포함되지 않게해야합니다. 여기 내 시도입니다 :Windows 배치 파일 오류 수준 질문
set FILE_LIST=
for /f %%x in (temp.txt) do (
:: perform a VCS test
accurev diff -b %%x
:: skip concatenation if error level is > 2
IF errorlevel 2 GOTO NEXT
:: perform the concatenation
set FILE_LIST=!FILE_LIST! %%x
:NEXT
:: print a message if here due to an error above
IF errorlevel 2 echo VCS problem with this file: %%x
)
문제는 - 스크립트가 목록에 다섯 개 개의 파일이 세번째가있는 경우는 2 이상의 오류 수준 이상 발견 즉시에 대한 루프 전체를 실행 중지 한 것으로 나타납니다 VCS 문제 - 스크립트는 처음 두 개만 처리합니다.
각 반복마다 errorlevel이 재설정되지 않은 것 같습니다. 루프의 끝에서 수동으로 0으로 재설정 할 수 있습니까? –
mmyers : [internets의 조언] (http://batcheero.blogspot.com/2007/07/never-set-errorlevel.html)은 errorlevel 변수를 수동으로 설정하지 않는 것으로 보입니다. – dls
ahh - 하이퍼 링크 서식이 주석에서 작동하지 않습니다. – dls