1. 복사

copy [src 파일 경로] [dst 파일 경로]

참고 : %cd% 는 현재 배치파일이 실행되는 경로를 가리키는 변수

@echo off
:: C 드라이브의 text.txt 파일을 D 드라이브로 복사하는 경우
copy C:\text.txt D:\text.txt

:: C 드라이브의 text.txt 파일을, 현재 bat 파일이 실행되는 경로로 복사하는 경우
copy C:\text.txt %cd%\text.txt

 

2. 디렉토리 생성

md [생성할 디렉토리 경로]

- md 대신 mkdir을 써도 된다. (make directory의 약자)

@echo off
:: C 드라이브 안에 test라는 폴더를 생성한다
md C:\test
 
:: 현재 배치파일이 실행되는 경로 안에, test라는 폴더를 생성한다.
md %cd%\test
 
:: 디렉토리가 없는 경우 생성한다.
if not exist "%cd%\test" (
 md %cd%\test
)

 

3. 디렉토리 삭제

rd [삭제할 디렉토리 경로]

- rd 대신 rmdir을 써도 된다. (remove directory의 약자)

- rd는 디렉토리가 비어 있는 경우만 삭제된다.

- /s 옵션 : 디렉토리가 비어 있지 않은 경우에도 삭제한다. (삭제 여부 물음)

- /q 옵션 : 삭제 여부를 묻지 않고 삭제한다.

@echo off
:: C 드라이브의 test라는 폴더 삭제 (디렉토리가 비어있는 경우만 삭제됨)
rd C:\test

:: C 드라이브의 test라는 폴더와, 그 안의 내용까지 모두 삭제 (삭제 여부 물음, y 입력 시 삭제됨)
rd /s C:\test

:: C 드라이브의 test라는 폴더와, 그 안의 내용까지 모두 삭제 (삭제 여부 묻지 않고 삭제함)
rd /s /q C:\test

 

4. 파일 삭제

개별 파일을 삭제하는 방법이다. (디렉토리 삭제를 원하는 경우, 위의 rd 명령어 사용)

del [삭제할 파일 경로]

- 삭제할 파일 경로에 와일드 카드를 사용하면, 여러 개의 파일 삭제 가능 (예: *.exe 는 확장자가 exe인 모든 파일 삭제)

- 삭제할 파일 경로에 디렉토리명을 지정하면, 해당 디렉토리 내의 모든 파일 삭제(디렉토리는 남아있음)

- /P 옵션 : 각 파일 삭제 전에 삭제여부를 묻게 함 (y 입력 시 삭제됨)

- /F 옵션 : 읽기전용 파일 삭제함

@echo off
:: C 드라이브 안의 test.txt라는 파일 삭제
del C:\test.txt

:: 현재 디렉토리 안의 모든 exe 파일 삭제
del %cd%\*.exe

:: C:\BAT 라는 폴더 안의 모든 파일 삭제 (BAT이라는 폴더 자체는 삭제되지 않고 남아있음)
del C:\BAT

:: C 드라이브 안의 test.txt라는 파일 삭제시, 삭제 여부 물음 (y 입력 시 삭제됨)
del /P C:\test.txt

:: C 드라이브 안의 test.txt라는 읽기 전용 파일 삭제 (그냥 del 명령만으로는 읽기전용 파일은 삭제 안됨)
del /F C:\test.txt

 

5. 배치파일 실행 인자 받기

배치파일 실행 시 인자를 넘겨 받으려면, %1 ~ %9의 특수한 환경변수를 사용하면 된다.

(첫 번째 인자는 %1에, 두번째는 %2에, ... 9번째는 %9에 들어간다.)

@echo off
echo first : %1
echo second : %2

 

'개발' 카테고리의 다른 글

인코딩과 디코딩  (0) 2023.02.10
GUI 라이브러리/프레임워크  (0) 2022.02.02

+ Recent posts