용의 매개 변수에 도달하거나 언급 할 때 변수는 특정 명령을 실행 배치 파일에 사용됩니다.
- 유효성
- 구문
- 예를 들어
유효성
For는 내부 명령이며 다음 Microsoft 운영 체제에서 사용할 수 있습니다.
- 모든 버전의 MS-DOS
- 윈도우 95
- 윈도우 98
- 윈도우 ME
- 윈도우 NT
- 윈도우 2000
- 윈도우 XP
- 윈도우 비스타
- 윈도우 7
- 윈도우 8
- 윈도우 10
구문
- Windows 2000, XP 및 이후 구문
- Windows 95, 98, ME 구문.
Windows 2000, XP 및 이후 구문
FOR % 변수 IN (세트) DO 명령 [명령 매개 변수]
%변하기 쉬운 | 임의의 매개 변수 |
(파일 세트) | 하나 이상의 파일 세트를 지정합니다. 와일드 카드가 사용될 수 있습니다. |
명령 | 각 파일에 대해 수행 할 명령을 지정합니다. |
명령 매개 변수 | 지정된 명령에 대한 매개 변수 또는 스위치를 지정합니다. |
배치 프로그램에서 FOR 명령을 사용하려면 % variable 대신 %% variable을 지정하십시오. 변수 이름은 대소 문자를 구분하므로 % i는 % I와 다릅니다.
명령 확장자가 사용 가능한 경우 다음과 같은 추가 형식의 FOR 명령이 지원됩니다.
FOR / D % 변수 IN (세트) DO 명령 [명령 매개 변수]
set에 와일드 카드가 포함되어 있으면 파일 이름 대신 디렉토리 이름과 일치하도록 지정합니다.
FOR / R [[드라이브:] 경로] % 변수 IN (세트) DO 명령 [명령 매개 변수]
[drive:] path에 뿌리를 둔 디렉토리 트리를 이동하여 트리의 각 디렉토리에서 FOR 문을 실행합니다. / R 뒤에 디렉토리 스펙이 지정되지 않으면 현재 디렉토리가 가정됩니다. set이 단일 마침표 (.) 문자 인 경우 디렉토리 트리가 열거됩니다.
FOR / L % 변수 IN (시작, 단계, 종료) DO 명령 [명령 매개 변수]
세트는 시작부터 끝까지 일련의 숫자입니다 (단계별 금액). 따라서 (1,1,5)는 시퀀스 1 2 3 4 5를 생성하고 (5, -1,1)은 시퀀스 (5 4 3 2 1)을 생성합니다.
FOR / F ["옵션"] % 변수 IN (파일 세트) DO 명령 [명령 매개 변수] FOR / F ["옵션"] % 변수 IN ("문자열") DO 명령 [명령 매개 변수] FOR / F ["옵션"] % variable IN ('명령') DO 명령 [명령 매개 변수]
또는 usebackq 옵션이있는 경우:
FOR / F ["옵션"] % 변수 IN (파일 세트) DO 명령 [명령 매개 변수] FOR / F ["옵션"] % 변수 IN ('문자열') DO 명령 [명령 매개 변수] FOR / F ["옵션"] % variable IN (`명령`) DO 명령 [명령 매개 변수]
매개 변수 파일 세트는 입력 소스 인 하나 이상의 파일 이름입니다. 파일 이름 세트의 각 파일은 다음 파일로 진행하기 전에 열고 읽고 처리합니다. 처리는 파일을 읽고 개별 텍스트 줄로 나눈 다음 각 줄을 0 개 이상의 토큰으로 파싱합니다. 그런 다음 변수 값을 찾은 토큰 문자열로 설정하여 for 루프의 본문을 호출합니다. 기본적으로 / F는 각 파일의 각 줄에서 공백으로 구분 된 첫 번째 토큰을 전달합니다. 빈 줄은 건너 뜁니다. 선택적 "options"매개 변수를 지정하여 기본 구문 분석 동작을 대체 할 수 있습니다. 따옴표 붙은 문자열에는 다른 구문 분석 옵션을 지정하기위한 하나 이상의 키워드가 포함됩니다. 키워드는 다음과 같습니다.
eol = c | 줄 끝 주석 단일을 지정합니다. |
건너 뛰기 = n | 파일 시작 부분에서 건너 뛸 행 수를 지정합니다. |
delims = xxx | 공백과 탭의 기본 분리 문자 세트를 대체하는 분리 문자 세트를 지정합니다. |
토큰 = x, y, mn | 반복 할 때마다 각 본문의 토큰이 본문에 전달 될 토큰을 지정하여 추가 변수 이름이 할당되도록합니다. mn 형식은 m 번째에서 n 번째까지의 토큰을 지정하는 범위입니다. tokens = 문자열의 마지막 문자가 별표이면 추가 변수가 할당되고 마지막 토큰이 구문 분석 된 후 나머지 행 텍스트를 수신합니다. |
usebackq | 역 따옴표로 묶인 문자열이 명령으로 실행되고 작은 따옴표로 묶인 문자열이 리터럴 문자열 명령 인 새 시맨틱이 적용되도록 지정합니다. 옵션을 사용하면 큰 따옴표를 사용하여 파일 세트의 파일 이름을 인용 할 수도 있습니다. |
몇 가지 예가 도움이 될 수 있습니다.
FOR / F "eol =; tokens = 2,3 * delims =,"(myfile.txt)의 % i는 @echo % i % j % k
세미콜론으로 시작하는 행을 무시하고 myline.txt를 구문 분석하고 쉼표와 공백으로 구분 된 토큰을 사용하여 각 행에서 두 번째 및 세 번째 토큰을 본문으로 전달합니다. for body 문 참조 % i는 두 번째 토큰을 가져오고 % j는 세 번째 토큰을 가져오고 % k는 세 번째 이후의 나머지 토큰을 가져옵니다. 공백이 포함 된 파일 이름의 경우 큰 따옴표로 파일 이름을 인용해야합니다. 이런 방식으로 큰 따옴표를 사용하려면 usebackq 옵션을 사용해야합니다. 그렇지 않으면 큰 따옴표는 구문 분석 할 리터럴 문자열을 정의하는 것으로 해석됩니다.
% i는 for 문에서 명시 적으로 선언되며 % j 및 % k는 tokens = 옵션을 통해 암시 적으로 선언됩니다. 문자 'z'또는 'Z'보다 높은 변수를 선언하지 않으면 tokens = 행을 통해 최대 26 개의 토큰을 지정할 수 있습니다. FOR 변수 이름은 대소 문자를 구분하며 전역 적이며 한 번에 총 52 개 이상을 활성화 할 수 없습니다.
임의의 문자열에서 FOR / F 구문 분석 논리를 사용할 수도 있습니다. 이렇게하려면 파일 세트를 괄호로 묶은 작은 따옴표로 묶은 문자열로 지정하십시오. 파일에서 한 줄의 입력으로 구문 분석됩니다.
마지막으로 FOR / F 명령을 사용하여 명령의 출력을 구문 분석 할 수 있습니다. 괄호 사이의 파일 세트를 큰 따옴표로 묶어 문자열로 만듭니다. 자식 CMD.EXE로 전달되는 명령 줄로 처리되며 출력은 메모리에 캡처되어 파일로 구문 분석됩니다. 따라서 다음 예제는
FOR / F "usebackq delims =="% i IN (`set`) DO @echo % i
현재 환경에서 환경 변수 이름을 열거합니다.
FOR 변수 참조의 대체가 향상되었으며 이제 다음 선택적 구문을 사용할 수 있습니다.
% ~ I | 주변 따옴표 (")를 제거하여 % I을 확장합니다. |
% ~ fI | % I을 완전한 경로 이름으로 확장합니다. |
% ~ dI | % I을 드라이브 문자로만 확장합니다. |
% ~ pI | % I을 경로로만 확장합니다. |
% ~ n | % I을 파일 이름으로 만 확장합니다. |
% ~ xI | % I을 파일 확장자로만 확장합니다. |
% ~ sI | 확장 된 경로에는 짧은 이름 만 포함됩니다. |
% ~ aI | % I을 파일의 파일 속성으로 확장합니다. |
% ~ tI | % I을 파일의 날짜 / 시간으로 확장합니다. |
% ~ zI | % I을 파일 크기로 확장합니다. |
% ~ $ PATH: I | PATH 환경 변수에 나열된 디렉토리를 검색하고 % I를 처음 찾은 디렉토리의 완전한 이름으로 확장합니다. 환경 변수 이름이 정의되지 않았거나 검색에서 파일을 찾을 수없는 경우이 수정자는 빈 문자열로 확장됩니다. |
수정자를 결합하여 복합 결과를 얻을 수 있습니다.
% ~ dpI | 드라이브 문자 및 경로로만 % I을 확장합니다. |
% ~ nxI | % I을 파일 이름과 확장자로만 확장합니다. |
% ~ fsI | % I을 짧은 이름의 전체 경로 이름으로 확장합니다. |
% ~ dp $ PATH: i | % I에 대한 PATH 환경 변수에 나열된 디렉토리를 검색하고 처음 발견 된 드라이브 문자 및 경로로 확장합니다. |
% ~ ftzaI | 출력 라인과 같은 DIR로 % I을 확장합니다. |
위의 예에서 % I 및 PATH는 다른 유효한 값으로 대체 될 수 있습니다. % ~ 구문은 유효한 FOR 변수 이름으로 종료됩니다. % I와 같은 대문자 변수 이름을 선택하면 더 읽기 쉽고 대소 문자를 구분하지 않는 수정 자와 혼동되지 않습니다.
Windows 95, 98, ME 구문
FOR % 변수 IN (세트) DO 명령 [명령 매개 변수]
%변하기 쉬운 | 교체 가능한 매개 변수를 지정합니다. |
(세트) | 하나 이상의 파일 세트를 지정합니다. 와일드 카드가 사용될 수 있습니다. |
명령 | 각 파일에 대해 수행 할 명령을 지정합니다. |
명령 매개 변수 | 지정된 명령에 대한 매개 변수 또는 스위치를 지정합니다. |
배치 프로그램에서 FOR 명령을 사용하려면 % 변수 대신 %% 변수를 지정하십시오.