의미 : 일괄작업파일로서 컴퓨터 운영체계에서 수행되는 명령어들로 구성된 텍스트파일이다. 키보드로 한 번에 하나씩 입력해야 하는 일련의 명령어들을 하나의 파일로 작성하기 때문에 배치파일이라고 부르며, 공통적으로 필요한 배치파일들은 운영체계의 일부분으로 지정된다. 배치파일은 명령어 라인(명령 프롬프트)에서 단지 배치파일의 이름을 입력함으로써 실행시킬 수 있다~~[네이버 지식백과]~~
1. 내부 명령어를 확인 하기 위한 커멘드창
-. 시작 -> 프로그램 및 파일검색 -> cmd
-. 배치파일 작성은 에디터를 사용 : 노트패드, 에디트플러스, 울트라에디트 등...
-. 배치에서 사용할 변수 확인은 커멘드창에서 set하고 엔터를 치면 나옵니다.
2. 배치를 자세히 알기위해 예제를 참고로 합니다.
-. 배치내에서 명령어는 내부와 외부 명령어를 사용한다.
-. 내부 명령어 (컴퓨터가 부팅되면서 내부 상주메모리에 올려놓은 명령어)
-. 외부 명령어 (내부명령어를 제외한 실행 프로그램 : *.exe/*.com)
-. 특정 명령어에 대한 자세한 내용이 필요하면
=> 커멘드창에서 -> HELP 명령어이름을 입력하십시오.
명령어
기능 설명
ASSOC
파일 확장명 연결을 보여주거나 수정합니다.
ATTRIB
파일 속성을 표시하거나 바꿉니다.
BCDEDIT
부팅 로딩을 제어하기 위해 부팅 데이터베이스에서 속성을 설정합니다.
BREAK
확장된 CTRL+C 검사를 설정하거나 지웁니다.
CACLS
파일의 액세스 컨트롤 목록(ACL)을 표시하거나 수정합니다.
CALL
한 일괄 프로그램에서 다른 일괄 프로그램을 호출합니다.
CD
현재 디렉터리 이름을 보여주거나 바꿉니다.
CHCP
활성화된 코드 페이지의 번호를 표시하거나 설정합니다.
CHDIR
현재 디렉터리 이름을 보여주거나 바꿉니다.
CHKDSK
디스크를 검사하고 상태 보고서를 표시합니다.
CHKNTFS
부팅하는 동안 디스크 확인을 화면에 표시하거나 변경합니다.
CLS
화면을 지웁니다.
CMD
Windows 명령 인터프리터의 새 인스턴스를 시작합니다.
COLOR
콘솔의 기본색과 배경색을 설정합니다.
COMP
두 개 또는 여러 개의 파일을 비교합니다.
COMPACT
NTFS 분할 영역에 있는 파일의 압축을 표시하거나 변경합니다.
CONVERT
FAT 볼륨을 NTFS로 변환합니다. 현재 드라이브는 변환할 수 없습니다.
COPY
하나 이상의 파일을 다른 위치로 복사합니다.
DATE
날짜를 보여주거나 설정합니다.
DEL
하나 이상의 파일을 지웁니다.
DIR
디렉터리에 있는 파일과 하위 디렉터리 목록을 보여줍니다.
DISKCOMP
두 플로피 디스크의 내용을 비교합니다.
DISKCOPY
플로피 디스크의 내용을 다른 플로피 디스크로 복사합니다.
DISKPART
디스크 파티션 속성을 표시하거나 구성합니다.
DOSKEY
명령줄을 편집하고, Windows 명령을 다시 호출하고, 매크로를 만듭니다.
DRIVERQUERY
현재 장치 드라이버 상태와 속성을 표시합니다.
ECHO
메시지를 표시하거나 ECHO를 사용 또는 사용하지 않습니다.
ENDLOCAL
배치 파일에서 환경 변경의 지역화를 끝냅니다.
ERASE
하나 이상의 파일을 지웁니다.
EXIT
CMD.EXE 프로그램(명령 인터프리터)을 마칩니다.
FC
두 파일 또는 파일의 집합을 비교하여 다른 점을 표시합니다.
FIND
파일에서 텍스트 문자열을 찾습니다.
FINDSTR
파일에서 문자열을 찾습니다.
FOR
파일 집합에서 각 파일에 대해 지정된 명령을 실행합니다.
FORMAT
Windows에서 사용할 디스크를 포맷합니다.
FSUTIL
파일 시스템 속성을 표시하거나 구성합니다.
FTYPE
파일 확장 연결에 사용되는 파일 형식을 표시하거나 수정합니다.
GOTO
Windows 명령 인터프리터가 일괄 프로그램에서 이름표가 붙여진 줄로 이동합니다.
GPRESULT
컴퓨터 또는 사용자에 대한 그룹 정책 정보를 표시합니다.
GRAFTABL
Windows가 그래픽 모드에서 확장 문자 세트를 표시할 수 있게 합니다.
HELP
Windows 명령어에 관한 도움말을 제공합니다.
ICACLS
파일과 디렉터리에 대한 ACL을 표시, 수정, 백업 또는 복원합니다.
IF
일괄 프로그램에서 조건 처리를 수행합니다.
LABEL
디스크의 볼륨 이름을 만들거나, 바꾸거나, 지웁니다.
MD
디렉터리를 만듭니다.
MKDIR
디렉터리를 만듭니다.
MKLINK
기호화된 링크와 하드 링크를 만듭니다.
MODE
시스템 장치를 구성합니다.
MORE
출력을 한번에 한 화면씩 표시합니다.
MOVE
하나 이상의 파일을 한 디렉터리에서 다른 디렉터리로 옮깁니다.
OPENFILES
파일 공유에서 원격 사용자에 의해 열린 파일을 표시합니다.
PATH
실행 파일의 찾기 경로를 보여주거나 설정합니다.
PAUSE
배치 파일의 처리를 보류하고 메시지를 보여줍니다.
POPD
PUSHD 명령으로 저장된 디렉터리로 바꿉니다.
PRINT
텍스트 파일을 인쇄합니다.
PROMPT
Windows 명령 프롬프트를 바꿉니다.
PUSHD
현재 디렉터리를 저장한 후 디렉터리를 바꿉니다.
RD
디렉터리를 지웁니다.
RECOVER
불량이거나 결함이 있는 디스크에서 읽을 수 있는 정보를 복구합니다.
REM
배치 파일 또는 CONFIG.SYS에서 주석을 기록합니다.
REN
파일 이름을 바꿉니다.
RENAME
파일 이름을 바꿉니다.
REPLACE
파일을 대체합니다.
RMDIR
디렉터리를 지웁니다.
ROBOCOPY
파일과 디렉터리 트리를 복사할 수 있는 고급 유틸리티입니다.
SC
서비스를 표시하거나 구성합니다(백그라운드 작업).
SCHTASKS
컴퓨터에서 실행할 명령과 프로그램을 예약합니다.
SET
Windows 환경 변수를 보여주거나, 설정하거나, 지웁니다.
SETLOCAL
배치 파일에서 환경 변경의 지역화를 시작합니다.
SHIFT
배치 파일에서 바꿀 수 있는 매개 변수의 위치를 바꿉니다.
SHUTDOWN
컴퓨터의 로컬 또는 원격 종료를 허용합니다.
SORT
입력을 정렬합니다.
START
지정된 프로그램이나 명령을 별도의 창에서 시작합니다.
SUBST
경로를 드라이브 문자로 지정합니다.
SYSTEMINFO
특정 컴퓨터의 속성과 구성을 표시합니다.
TASKKILL
실행 중인 프로세스나 응용 프로그램을 중지합니다.
TASKLIST
서비스를 포함한 실행 중인 모든 작업을 표시합니다.
TIME
시스템 시간을 보여주거나 설정합니다.
TITLE
CMD.EXE 세션에 대한 창의 창 제목을 설정합니다.
TREE
드라이브 또는 경로의 디렉터리 구조를 그래픽으로 화면에 표시합니다.
TYPE
텍스트 파일의 내용을 보여줍니다.
VER
Windows 버전을 보여줍니다.
VERIFY
파일이 디스크에 올바로 쓰였는지 검증할지 여부를 지정합니다.
VOL
디스크 볼륨 이름과 일련 번호를 보여줍니다.
WMIC
대화형 명령 셸 내의 WMI 정보를 표시합니다.
XCOPY
파일과 디렉터리 트리를 복사합니다.
-. 참고 : wildcard 는 파일명을 표시할 때 사용하는 것으로
? : 1개의 글자와 치환되고,
* : 모든 글자와 치환된다.
예1) 모든 txt파일의 확장자를 ini로 복사(copy)하는 명령는
=> copy *.txt *.ini
예2) 모든 txt파일목록을 보고자하면
=> dir *.txt
예3) 파일목록 중 abc로 시작되는 파일들의 목록을 볼 때는
=> dir abc*.txt
예4) 파일목록 중 앞3자는 abc이고, 4번째는 모르고, 5~7번째가 efg인
확장자가 txt인 파일들의 목록을 볼 때는 => dir abc?efg.txt
3. 배치파일에서 사용하는 명령어 중 알면 좋은 것들
-. echo %date:~0,7% => 2014-07
: 오늘 날자(2014-07-08)중 첫글자부터 7개 글자 보여주기
-. echo %date:-=% => 20140708
: 오늘 날자(2014-07-08)에서 -를 빼고 보여주기
4. 배치파일 sample 입니다. (전월 구하기)
-. set는 선언 명령입니다.
-. echo는 화면 표시 입니다.
-. if는 비교 연산자 입니다.
-. thisYMD는 오늘 날짜중 "년도-월" 까지의 내용입니다(2014-07)
-. numThisYMD는 오늘날짜에서 '-'를 없앤 내용입니다(20140708)
-. numPreYMD는 어제의 날짜(오늘날짜 - 1)를 선언한 것(20140707)
-. numThisYM는 지금의 년도월 6글자 입니다(201407)
-. numPreYM은 전달(오늘년월 - 1)를 선언한 것(201406)
-. numPreY는 전년(지금년도 - 1)을 구한것 (2013)
-. if 로직은 전달을 구했는데..201400일 경우(지금이 2014년01월일 때) 전년도(2013) 12월이 되도록 하는 로직(201312)
------------------------------------------------
set thisYMD=%date:~0,7% echo %thisYMD% set numThisYMD=%date:-=% set /A numPreYMD=%numThisYMD%-1 echo %numPreYMD%
set numThisYM=%numThisYMD:~0,6% set /A numPreYM=%numThisYM%-1 echo %numPreYM% echo %numPreYM:~5,1%
set /A numPreY=%numPreYM:~0,4% -1
if "%numPreYM:~5,1%" == "0" ( set numPreYM=%numPreY%12 ) echo %numPreYM%
5. 임의의 작업했던 파일을 압축으로 백업 받는 sample.
-. 자바로 프로그램하고 수시로 백업 받고자 할 때 사용.
echo off rem --> 화면에 표시하지 않게 하는 명령어 e: rem --> E 드라이브로 가게 하는 명령어 cd e:\sik\backup rem --> E:\sik\back 폴더로 가게 하는 명령어 set FF0=e:\sik
rem --> FF0 에 E:\sik을 선언하는 명령어 (E:\sik) set FFF=Sik_%date% rem --> FFF 에 Sik_오늘날짜(YYYY-MM-DD)를 선언하는 명령어 (Sik__2014-07-08) SET FFF9=.\%FFF%_0.zip rem --> FFF9 에 현재디렉토리\백업받고자하는 이름을 선언하는 명령어(.\Sik__2014-07-08_0.zip) :LOOP
rem --> "LOOP"라는 위치를 선언
IF NOT EXIST %FFF9% GOTO EXES rem --> FFF9 에 선언한 파일이 없으면 EXES 위치로 가라는 명령 SET FFF9=%FFF%_1.zip rem --> FFF9 에 현재디렉토리\백업받고자하는 새로운 이름을 선언하는 명령어(.\Sik__2014-07-08_1.zip) IF NOT EXIST %FFF9% GOTO EXES rem --> FFF9 에 선언한 파일이 없으면 EXES 위치로 가라는 명령 SET FFF9=%FFF%_2.zip IF NOT EXIST %FFF9% GOTO EXES ...........(필요한 만큼 반복)
IF NOT EXIST %FFF9% GOTO EXES
rem --파일이 존재하지 않으면 백업 시작~~ rem IF ERRORLEVEL 2 GOTO END GOTO END
:EXES lha32 u /rx .\%FFF9% c:\hanayc\workspace.bss\*.* lha32 d /rx .\%FFF9% *.class lha32 d /rx .\%FFF9% *.bak lha32 d /rx .\%FFF9% *.tpl :END