Windows 7 64 비트배치 파일의 테스트 오류 수준이 예상 결과를 반환하지 않습니다.
디렉토리에서 다른 디렉토리로 파일을 복사하는 배치 파일을 작성하고 파일을 삭제합니다. 복사하려는 파일이 배치 파일이 실행될 때 다른 프로그램에서 작성 중이며 결과로 "프로세스가 다른 프로세스에서 사용 중이기 때문에 파일에 액세스 할 수 없습니다."라는 오류가 발생하는 경우가 있습니다. 나는이 상태에 대한 errorlevel 테스트를 할 수있을 것으로 기대하고 있었고, 지연 시간에 점프하고 다시 시도 할 때가있었습니다. 나는 IF ErroreleVEL 1 타입 테스트를받을 수 없어서 1 점을 받아서 연기 할 수 있습니다. 나는 errorlevel 주위에 %를 사용하여 모든 종류의 변형을 시도했다. 나는 그것이 "프로세스가 파일에 접근 할 수 없다 ..."오류를 산출하고 있다는 것을 알기 때문에 0이 아닌 결과를 생성하는 것처럼 보일 수 없다. 나는 한 번에이 일을했음을 맹세하지만, 왜 내가 더 이상 일하지 않는지 알아낼 수는 없다. 아래의 훨씬 간단한 테스트를 시도해 보았지만 실패한 삭제 명령은 0이 아닌 오류 수준으로 표시되지 않습니다. 실패한 삭제 명령을 선택하여 지연으로 점프하도록 허용 할 적절한 errorlevel 테스트를 어떻게 구성합니까?
:start
copy c:\users\pc\documents\recordings\*.mp3 c:\recordings
del c:\users\pc\documents\recordings\*.mp3
if errorlevel 1 goto delay
goto start
:delay
echo delay
ping 1.1.1.1 > nul
goto start