/B 패턴이 행의 첫부분에 있는지를 비교합니다. /E 패턴이 행의 끝부분에 있는지를 비교합니다. /L 찾는 문자열을 글자 그대로 사용합니다. /R 찾는 문자열을 정규식으로 사용합니다. /S 현재 디렉터리와 모든 하위 디렉터리에서 일치하는 파일을 찾습니다. /I 찾을 때 대/소문자를 구별하지 않습니다. /X 정확히 일치하는 줄만 보여줍니다. /V 일치하는 텍스트가 없는 줄만 보여줍니다. /N 일치하는 각 줄 앞에 줄 번호를 보여줍니다. /M 파일에 일치하는 텍스트가 있으면 파일 이름만 보여줍니다. /O 일치하는 각 줄 앞에 문자 오프셋을 보여줍니다. /P 인쇄할 수 없는 텍스트가 포함된 파일은 건너 뜁니다. /OFF[LINE] 오프라인 속성 세트 파일을 건너뛰지 않습니다. /A:속성 색 속성을 두자리 16진수로 지정합니다. "color /?"를 참조하십시오. /F:파일 지정된 파일에서 파일 목록을 읽습니다('/'는 콘솔에 해당됩니다). /C:문자열 지정된 텍스트를 글자 그대로 찾는 문자열로 사용합니다. /G:파일 지정된 파일로부터 찾는 텍스트를 받습니다('/'는 콘솔에 해당됩니다). /D:디렉터리 디렉터리 목록을 구분하는 세미콜론(;)를 찾습니다. 문자열 찾을 텍스트. [드라이브:][경로]파일이름 찾을 파일을 지정합니다.
/C 옵션을 사용한 경우가 아니면, 찾는 문자열을 여러 개 지정할 때 공백으로 분리하십시오. 예를 들면, 'FINDSTR "hello there" x.y' 명령을 입력하면 파일 x.y에서 "hello"나 "there"을 찾습니다. 반면에 'FINDSTR /C:"hello there" x.y' 명령을 입력하면 파일 x.y에서 "hello there"을 찾습니다.
정규식에 대한 참고 사항: . 와일드카드: 모든 문자 * 반복: 문자나 클래스에 대하여 0번 이상 반복 ^ 행 위치: 행의 앞부분 $ 행 위치: 행의 끝부분 [클래스] 문자 클래스: 세트에 있는 문자 [^클래스] 역 클래스: 세트에 없는 문자 [x-y] 범위: 특정 범위에 있는 문자 \x 익스케이프: 메타 문자 x를 문자 그대로 사용 \ xyz\> 단어 위치: 단어의 끝부분
%변수 바꿀 수 있는 매개 변수를 한 문자로 지정합니다. (집합) 하나 이상의 파일을 지정합니다. 와일드카드를 사용할 수 있습니다. 명령어 각 파일에 대해 수행할 명령을 지정합니다. 명령어-매개 변수 지정된 명령의 매개 변수나 스위치를 지정합니다.
일괄 프로그램에서 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와 같은 대문자 변수 이름을 선택하면 쉽게 읽을 수 있으며 대/소문자를 구분하지 않는 구문에서 혼동을 피할 수 있습니다.
FORMAT 볼륨: [/FS:파일-시스템][/V:레이블][/Q][/A:크기][/C][/X] FORMAT 볼륨: [/V:레이블][/Q][/F:크기] FORMAT 볼륨: [/V:레이블][/Q][/T:트랙 /N:섹터] FORMAT 볼륨: [/V:레이블][/Q] FORMAT 볼륨 [/Q]
볼륨 포맷할 드라이브 문자(콜론(:)으로 구분)나 탑재 지점, 볼륨 이름을 지정합니다. /FS:파일시스템 파일 시스템 종류를 지정합니다(FAT, FAT32, NTFS). /V:레이블 볼륨 레이블을 지정합니다. /Q 빠른 포맷을 置璿爛求? /C NTFS 전용: 새 볼륨에서 만드는 파일은 기본적으로 압축됩니다. /X 필요하면 우선 볼륨을 분리하도록 합니다. 그러면 볼륨에 대해 모든 핸들은 사용할 수 없습니다. /A:크기 할당 단위 크기를 지정합니다. 일반 용도로 기본값을 사용할 것을 매우 권장합니다. NTFS는 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K (섹터 크기가 512바이트 보다 큰 경우: 128K, 256K)를 지원합니다. FAT32?512, 1024, 2048, 4096, 8192, 16K, 32K, 64K (섹터 크기가 512바이트 보다 큰 경우: 128K, 256K)를 지원합니다.
FAT과 FAT32 파일 시스템에서는 볼륨에 있는 클러스터 수에 따라 다음과 같은 제한을 적용합니다:
FAT: 클러스터 수 <= 65526 FAT32: 65526 < 클러스터 수 < 4177918
지정된 클러스터의 개수가 위의 필요 조건을 만렘쳔걍?못하면 포맷을 즉시 중지합니다.
NTFS 압축은 4096을 초과하는 할당 단위 크기에 대해 지원하지 않습니다.
/F:크기 포맷할 디스크 크기를 지정합니다. /T:트랙 디스크 면당 트랙 수를 지정합니다. /N:섹터 트랙당 섹터의 수를 지정합니다.