Loop (normal)

일련의 명령어들을 반복적으로 실행합니다: 지정된 횟수 만큼 반복하거나 아니면 break를 만날 때까지 반복합니다.

Loop [, Count]
선택

매개변수

Count

회돌이를 수행할 (반복) 횟수. 생략되면, 회돌이는 break 또는 return을 만날 때까지 무한히 계속됩니다.

Count가 %ItemCount%와 같은 변수 참조이면, 회돌이는 변수가 비거나 1보다 작은 숫자를 포함할 때 완전히 건너 뜁니다.

파일-패턴 회돌이를 지원할 필요가 있기 때문에, Count는 표현식이 되면 안 됩니다. 그렇지만, 모든 비-표현식 매개변수처럼, 앞에다 %와 스페이스 하나를 두면 강제로 표현식처럼 사용할 수 있습니다. 예를 들어: Loop % Count + 1. 그런 경우, 표현식은 회돌이가 시작되기 전에 오직 한 번만 평가됩니다.

논평

회돌이 명령어는 보통 다음 블록이 따라옵니다. 블록은 회돌이의 을 형성하는 서술문 집단입니다. 그렇지만, 서술문이 하나만 있는 회돌이는 블록이 필요하지 않습니다 (이런 목적으로 "if"와 그의 "else"는 하나의 서술문으로 간주됩니다).

이 명령어의 일반적인 사용법은 무한 회돌이입니다. break 명령어를 회돌이의 어딘가에 사용해 회돌이를 끝낼 때를 결정합니다.

회돌이 안에 breakcontinue를 사용하는 것을 적극 권장합니다. goto는 자제하십시오. 왜냐하면 일반적으로 스크립트를 더 이해하기 어렵게 만들고 유지관리하기도 더 힘들게 만들기 때문입니다. "Do...While" 회돌이를 만들려면, 회돌이 몸체의 마지막 서술문을 IF 서술문으로 만들어서 조건적으로 break 명령어를 실행하도록 만드십시오. 같은 테크닉을 사용하면 "While" 회돌이를 만들 수 있습니다. 그러나 그 대신에 While 명령어를 사용해야 합니다.

내장 변수 A_Index에는 현재 회돌이 반복 횟수가 담깁니다. 회돌이의 몸체가 처음 실행될 때 1이 담기고, 그 다음 실행 때 2가 담깁니다; 등등. 내부 회돌이가 외부 회돌이로 둘러 싸여 있다면, 내부 회돌이가 우선 순위가 있습니다. A_Index는 모든 유형의 회돌이에 작동합니다. 여기에는 파일-회돌이레지스트리-회돌이가 포함됩니다; 그러나 A_Index는 회돌이 밖이면 0이 담깁니다.

One True Brace (OTB) 스타일을 선택적으로 정상 회돌이에 사용할 수 있습니다 (그러나 특별한 회돌이에는 안 됩니다. 예를 들어 파일-패턴 회돌이 그리고 파싱 회돌이). 예를 들어:

Loop {
    ...
}
Loop %RepeatCount% {
    ...
}
선택 | 내려받기

특수 회돌이: 회돌이를 사용해 자동으로 파일, 폴더, 레지스트리 항목을 (한 번에 하나씩) 열람할 수 있습니다. 자세한 것은 파일-회돌이 그리고 레지스트리-회돌이를 참조하십시오. 게다가, 파일-읽기 회돌이는 파일의 전체 내용을 한 번에 한 줄씩 처리할 수 있습니다. 마지막으로, 파싱 회돌이는 가름자로 구분된 문자열 안에 포함된 개별 필드들을 처리할 수 있습니다.

관련 항목

Until, While-회돌이, For-회돌이, 파일과 폴더 회돌이, 레지스트리 회돌이, 파일-읽기 회돌이, 파싱 회돌이, Break, Continue, 블록

예제

Loop, 3
{
    MsgBox, 반복 숫자는 %A_Index%입니다.  ; A_Index는 1, 2, 그 다음에 3이 됩니다
    Sleep, 100
}

Loop
{
    if a_index > 25
        break  ; 회돌이를 종료합니다
    if a_index < 20
        continue ; 아래를 건너 뛰고 새 반복을 시작합니다
    MsgBox, a_index = %a_index% ; 이 곳은 숫자를 20부터 25 까지만 보여줍니다.
}
선택 | 내려받기