쉘[도스] [도움말 캡쳐] FOR

황제낙엽 2020.05.21 18:26 조회 수 : 18

sitelink1  
sitelink2  
sitelink3  
extra_vars6  

C:\Users\7>for /?

파일 집합에서 각 파일에 대해 지정된 명령을 실행합니다.

 

FOR %변수 IN (집합) DO 명령어 [명령어 매개 변수]

 

  %변수      바꿀 수 있는 매개 변수를 한 문자로 지정합니다.

  (집합)      하나 이상의 파일을 지정합니다. 와일드카드를 사용할 수 있습니다.

  명령어      각 파일에 대해 수행할 명령을 지정합니다.

  명령어-매개 변수

              지정된 명령의 매개 변수나 스위치를 지정합니다.

 

일괄 프로그램에서 FOR 명령을 쓰려면, '%변수' 대신 '%%변수'를 지정하십시오.

변수 이름에서는 대문자와 소문자를 구별하므로 %i와 %I는 다릅니다.

 

명령 확장을 사용하면 FOR 명령에 아래와 같은 추가적인 형태가

지원됩니다.

 

FOR /D %변수 IN (집합) DO 명령 [명령-매개 변수]

 

   집합에 대표 문자가 있으면 파일 이름 대신 디렉터리 이름과

   일치하도록 지정합니다.

 

FOR /R [[드라이브:]경로] %변수 IN (집합) DO 명령 [명령-매개 변수]

 

   [드라이브:]경로를 루트로 하여 디렉터리 트리를 따라 내려가며

   FOR 구문을 트리의 각 디렉터리에서 실행합니다. /R 스위치 뒤에

   디렉터리가 지정되지 않으면 현재 디렉터리가 사용됩니다.

   집합에 마침표(.)가 사용되면 디렉터리 트리만 나열합니다.

 

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 ["옵션"] %변수 IN ('명령어') DO 명령어 [명령-매개 변수]

 

    또는 usebackq 옵션이 있는 경우:

 

FOR /F ["옵션"] %변수 IN (파일-집합) DO 명령 [명령-매개 변수]

FOR /F ["옵션"] %변수 IN ('문자열') DO 명령어 [명령-매개 변수]

FOR /F ["옵션"] %변수 IN (`명령어`) DO 명령어 [명령-매개 변수]

 

   파일-집합은 하나 이상의 파일 이름입니다. 파일-집합의 각 파일은

   다음 파일로 이동하기 전에 열기 또는 읽기 등의 작업이 진행됩니다.

   파일을 읽어서 문자열을 한 행씩 분리하고 각 행을 0개 이상의

   토큰으로 구문 분석하는 과정으로 되어 있습니다. For 루프의 본문은

   발견된 토큰 문자열에 설정된 변수 값(들)과 함께 호출됩니다.

   기본값으로 /F는 파일의 각 행으로부터 분리된 토큰을 첫 번째 공백에

   전달합니다. 빈 행은 건너뜁니다. "옵션" 매개 변수를 지정하여

   기본 구문 분석 동작을 무시할 수 있습니다. 이것은 다른 구문 분석

   매개 변수를 지정하는 하나 이상의 키워드를 갖는 인용 부호로

   묶인 문자열입니다.

   키워드는 아래와 같습니다.

 

        eol=c           - 행 끝 설명 문자를 지정합니다

                          (하나만)

        skip=n          - 파일의 시작 부분에서 무시할 행의 개수를

                           지정합니다.

        delims=xxx      - 구분 문자 집합을 지정합니다.  이것은 공백 또는

                          탭에 대한 기본 구분 문자 집합을 바꿉니다.

        tokens=x,y,m-n  - 각 줄에서 어떤 토큰이 각 반복에 대한

                          For 구문으로 전달될지를 지정합니다.

                          이 작업은 추가 변수 이름이 할당되도록 됩니다.

                          m-n 형식은 m에서부터 n까지를 나타냅니다.

                          토큰=문자열 내에 있는 마지막 문자가 별표(*)이면,

                          추가 변수가 할당되고, 분석된 마지막 토큰

                          뒤에 남아 있는 텍스트를 받습니다.

        usebackq        - 억음 악센트 기호(`) 내의 문자열을 명령으로

                          처리하며, 작은따옴표(')는 문자열 명령어로

                          큰따옴표(")는 파일-집합에서 파일 이름을

                          나타내도록 사용합니다.

 

    다음 예제를 참고하십시오.

 

FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

 

    위의 예제에서는 myfile.txt의 모든 행을 구문 분석하지만

    세미콜론으로 시작하는 행은 무시하고, 각 행의 두 번째와

    세 번째 토큰을 쉼표 및/또는 공백으로 구분되는 토큰으로

    For 본문으로 전달합니다. 두 번째, 세 번째, 나머지 토큰을

    가져오려면, For 본문 내용의 %i, %j, %k를 참조하십시오.

    공백을 포함한 파일 이름의 경우, 파일 이름에 큰따옴표(")를

    적용하십시오. 큰따옴표를 적용하려면 "usebackq" 옵션을

    사용해야 합니다. 그렇지 않으면, 큰따옴표는 분석할 문자로

    취급됩니다.

 

    %i는 구문에서 정의되며, %j와 %k는 "tokens=" 옵션에서

    정의됩니다. "tokens=" 행에서는 26개의 토큰까지

    정의할 수 있으나 'z'나 'Z' 보다 큰 변수를 정의할 수는 없습니다.

    FOR 변수는 하나의 문자이며 대/소문자를 구분하며, 글로벌 변수로

    한 번에 52개 이상을 사용할 수 없습니다.

 

    괄호 사이에 있는 파일-집합에 작은따옴표(')를 사용하면,

    해당 문자열에서 FOR /F 구문 분석을 사용할 수 있습니다.

    이와 같은 경우, 하나의 행으로 취급되며 분석됩니다.

 

    괄호 사이에 있는 파일-집합에 억음 악센트 기호(`)를

    사용하면, 해당 명령에 대한 결과를 분석하는데 FOR /F 명령을

    사용할 수 있습니다. 이와 같은 경우, CMD.EXE로 전달된 명령줄로

    취급되며, 결과는 메모리에 저장되고 파일처럼 분석됩니다.

 

    다음 예제는 현재 환경의 환경 변수 이름을 나열합니다.

 

    FOR /F "usebackq delims==" %i IN (`집합`) DO @echo %i

 

추가적으로 FOR 대체 변수 참조가 확장되었습니다.

다음과 같은 옵션 구문을 사용할 수 있습니다:

 

    %~I         - 따옴표(")를 제거하는 %I을 확장합니다.

    %~fI        - %I을 정규화된 경로 이름으로 확장합니다.

    %~dI        - %I을 드라이브 문자로만 확장합니다.

    %~pI        - %I을 경로로만 확장합니다.

    %~nI        - %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     - %I을 출력줄과 같은 DIR로 확장합니다.

 

위의 예제에서 %I과 PATH는 다른 유효한 값으로 바뀔 수 있습니다.

%~ 구문은 유효한 FOR 변수 이름으로 종료됩니다.

%I와 같은 대문자 변수 이름을 선택하면 쉽게 읽을 수 있으며

대/소문자를 구분하지 않는 구문에서 혼동을 피할 수 있습니다.

번호 제목 sitelink1 글쓴이 날짜 조회 수
175 VirtualBox에 우분투(ubuntu-20.04-desktop-amd64.iso) 설치하기 file   황제낙엽 2020.07.11 41
174 Raspberry Pi에 우분투(ubuntu-20.04-preinstalled-server-arm64+raspi.img) 설치하기   황제낙엽 2020.07.10 187
173 리눅스 하드웨어 정보 및 용량 확인   황제낙엽 2020.07.08 290
172 [Windows PowerShell] ssh, sftp file https://blog.naver.com/asdf2017/221763647776  황제낙엽 2020.07.08 39
171 apt-get (Advanced Packaging Tool) [1] https://ko.wikipedia.org/wiki/%EC%96%B4%..._%ED%88%B4  황제낙엽 2020.07.08 39
170 [Docker] Docker, Portainer 입문용 블로그 링크 http://blog.naver.com/kidninja  황제낙엽 2020.07.07 17
169 VirtualBox에 라즈비안(2020-02-12-rpd-x86-buster) 설치하기 [1] file   황제낙엽 2020.07.01 76
168 "모니터 끄기" 단축아이콘과 단축키 만들기 file https://blog.naver.com/bizgood4911/221972709556  황제낙엽 2020.06.22 388
167 문자열 치환하여 변수에 저장 https://blog.naver.com/digitalog/221488405815  황제낙엽 2020.05.21 200
166 도스, 환경변수 http://egloos.zum.com/sirjhswin/v/2371970  황제낙엽 2020.05.21 23
» [도움말 캡쳐] FOR   황제낙엽 2020.05.21 18
164 [도움말 캡쳐] IF   황제낙엽 2020.05.21 168
163 [도움말 캡쳐] SET   황제낙엽 2020.05.21 21
162 [문법] 배치 명령어 기초 작성법 file https://www.snoopybox.co.kr/1404  황제낙엽 2020.05.21 40
161 도스 배치 사용법 https://sh1n2.tistory.com/entry/DOS-%EB%...9%EC%96%B4  황제낙엽 2020.05.21 19
160 문서 파일의 내용을 쉘프로그램 변수에 담기   황제낙엽 2020.05.21 18
159 시스템 오류 1219이(가) 생겼습니다. (net use) file   황제낙엽 2020.03.13 427
158 .NET Framework 3.5 설치오류 (0x800F081F) 해결방법(Windows 10) file https://blog.naver.com/sanghun0011/221664681482  황제낙엽 2020.02.27 75
157 프로세스 강제 종료 명령어(taskkill)   황제낙엽 2019.12.31 125
156 윈도우 인증서관리 확인하기 file   황제낙엽 2019.10.11 53