여기 바보 같은 질문이 나오지만 제발 도와주세요 아니면 내 뇌가 폭발합니다! ;)) 내가 이해하지 못하는 어리석은 몇 가지 ...Windows 배치 파일 - GOTO 명령이 무시되었습니다
간단히 말해서 : 내가 7 번 (종료)을 선택하면 반환 된 ERRORLEVEL은 정확하지만 GOTO의 지정된 레이블은 무시되고 대신 allTasksReboot 레이블로 이동합니다. ..
이 내 "코드"입니다 ...
@echo off
mode con: cols=150 lines=65
@echo ------------------------------------------------------------------------------------------------
@echo INSTALLATION MENU
@echo ------------------------------------------------------------------------------------------------
@echo [ 1 ].All tasks - Unattended with reboot on finish
@echo [ 2 ].All tasks - Unattended without reboot on finish
@echo [ 3 ].All tasks except Software group - Unattended with reboot on finish
@echo [ 4 ].All tasks except Software group - Unattended without reboot on finish
@echo [ 5 ].All tasks except Java 7 installation - Unattended without reboot on finish
@echo [ 6 ].Install only VNC - Unattended
@echo [ 7 ].Exit
@echo ------------------------------------------------------------------------------------------------
@echo ------------------------------------------------------------------------------------------------
CHOICE /C:1234567 /N /M "Choose number for installation type."
@echo You press: %ERRORLEVEL%
@pause
IF ERRORLEVEL 1 GOTO allTasksReboot
IF ERRORLEVEL 2 GOTO allTasks
IF ERRORLEVEL 3 GOTO allExceptSoftwareReboot
IF ERRORLEVEL 4 GOTO allExceptSoftware
IF ERRORLEVEL 5 GOTO allTasksExceptJava
IF ERRORLEVEL 6 GOTO onlyVnc
IF ERRORLEVEL 7 GOTO scriptend
:allTasksReboot
@echo **************************************************************************
@echo All tasks - Unattended with reboot on finish
@echo **************************************************************************
@pause
goto scriptend
:scriptend
@echo Lets exit...
@pause
:goexit
내가 답을 선택 : 당신이 IF 검사를 주문하고 싶지 않았다 경우에는
%ERRORLEVEL%
의 값을 사용할 수 있습니다. 또한 label- % errorlevel % 코드 트릭 예제에 감사드립니다. – binball