배치파일은 명령어의 묶음으로, 텍스트 파일이며, 확장자는 .bat 이다.  cmd 는 배치파일에서 한줄씩 읽어와 처리한다.

블럭화 혹은 그룹화(grouping) 는 괄호 ( ) 를 사용한다.  C의 { } 와 유사하다.


REM (remark)  는   주석문이다.

REM statement               해당 줄 자체가 무시된다.


명령어 앞에 @ 를 붙이면,  해당 "명령어"를 보이지 않게 한다.

이후의 명령어를 모두 감추려면, ECHO OFF 를 해준다.

따라서, ECHO OFF 자기 자신도 안보이게 하려면,  첫부분@ECHO OFF 라고 해주면 된다.


PAUSE 는 배치파일을 잠시 중단시키며, " Press any key to continue ...  "   와 같은 메시지를 보여준다.

중단은 Ctrl + C 나 Ctrl + Break 로 할 수 있다.


C 에서 main 함수의 인자 argv[] 로, 실행파일 이후에 오는 문자열들을 포인팅 했던것 처럼,
배치파일에서도 같은식으로 지정할 수 있다.

C에서, argv[0] 이 해당실행파일 명이었고, 그이후부터 argv[1] , argv[2] , ... 였던것과 마찬가지로, 배치파일에서도, 자기자신부터,
순서대로,    %0,  , %1 , %2 , ...  으로 포인팅한다.  최대 %9 까지 쓸수 있다.

참고로, 인자에 빈칸이 가능한경우 "%1" 과 같이 따옴표로 묶어준다.



배치파일에서, 무조건 분기는  GOTO (<--클릭) 문으로, 조건분기는 IF (<--클릭) 문으로, 루프는 FOR (<--클릭) 문으로 한다. 각 구문은 각 링크 참조.


주의할 점은,  윈도우 시스템이 배치파일의 %을 만나면, 곧바로 대응되는 녀석으로 치환을 해버린다는 것이다. 어떤의미에서 C의 #define 문이 하는 짓하고 좀 비슷하달까..

또한, C 에서 printf() 같은녀석으로 제어문자열 쓸때, 어떤녀석들은 기능을 탈출시키고, 문자로 찍어주기 위해서 두번반복해서 써야 하는 녀석들이 있었는데, 그와 비슷하게,  % 자체를 찍기위해서는 %% 를 써주면 된다.


예제로 간단한 배치파일을 작성해보자. 예제보기.