이 코드를 실행하면 :
:loop
(type "File" | findstr Idle) > nul 2>&1
timeout 1
if errorlevel 1 goto loop
그런 다음 File에서 문자열 "Idle"을 찾을 수 없으면 "loop"에서 다시 시작하여 "Idle"이 발견 될 때까지 계속해서 코드에서 더 아래로 이동합니다. 이것은 모두 좋고 훌륭하며, 코드가 맨 위가 아닌 코드의 맨 아래에 있도록 구조화 된 경우 여기에 문제가 없지만 첫 번째 명령이 필요합니다 (유휴가 발견되면) 유휴 상태가 없으면 아래로 이동하십시오.)
그러나이 코드를 실행할 때 :
:loop
(type "File" | findstr Idle) > nul 2>&1
timeout 1
if errorlevel 0 goto loop
문자열 "유휴"를 찾을 수 있는지 여부에 관계없이 항상 "루프"에서 다시 시작됩니다.
문자열을 찾을 수없는 경우 (문자열을 찾을 수없는 경우가 아니라 (여기서 "goto"를 사용할 계획이 아니라면 "goto"와 같은) 특정 명령을 실행할 필요가있을 때) 실제로 명령을 실행할 수 있어야합니다. 유휴 "가 발견되고 명령이없는 경우 다른 명령 세트가 있으므로 두 개의 유효한 오류 레벨 또는 대안이 필요합니다.
왜 이것이 작동하지 않으며, 이것을 수행하기위한 다른 방법이 있습니까?