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 |