명령 인수(또는 매개변수)는 배치 파일을 실행할 때 외부에서 값을 전달할 수 있는 방법이다. 배치 파일 내에서 %1, %2, %3 등으로 인수에 접근할 수 있고, 여기서 각 숫자는 전달 된 인수의 순서를 의미한다.
- 사용 예시
@echo off
:: 인수 확인
if "%1"=="" (
echo 파일 이름을 입력해 주세요.
exit /b
)
if "%2"=="" (
echo 대상 폴더를 입력해 주세요.
exit /b
)
:: 인수로 받은 파일을 지정된 폴더로 복사
set "source=%1"
set "destination=%2"
copy "%source%" "%destination%"
echo 파일 %source%를 %destination%로 복사함.
batchfile.bat test.txt C:\Backup
- 인수 확장 옵션
- %~1
- %1의 쌍따옴표를 제거한 값을 반환한다.
- 배치 파일의 인수는 공백이 포함된 경로나 문자열이 사용될 때가 많아서, 두 개 이상의 인수로 해석되지 않도록 쌍따옴표로 감싸서 전달하는 경우가 일반적이다. 이때 %~1을 사용하면 쌍따옴표가 포함된 경우 쌍따옴표를 제거한 값을 반환하고, 쌍따옴표가 없는 경우 인수 값을 그대로 반환한다.
- batch.bat "C:\Program Files\file.txt"로 실행하면, %~1은 C:\Program Files\file.txt 로 반환된다.
- %~f1
- %1의 절대경로(전체 경로를 포함한 값)를 반환한다.
- batch.bat file.txt로 실행하면, %~f1은 C:\현재경로\file.txt가 된다.
- %~d1
- %1의 드라이브 문자만 반환한다.
- batch.bat C:\path\file.txt로 실행하면, %~d1은 C:로 반환한다.
- %~p1
- %1의 드라이브 문자와 파일 이름을 제외한 경로(디렉터리)만 반환한다.
- batch.bat C:\path\to\file.txt로 실행하면, %~p1은 \path\to\로 반환한다.
- %~n1
- %1의 파일 이름만 반환한다. (확장자 제외)
- batch.bat C:\path\file.txt로 실행하면, %~n1은 file로 반환한다.
- %~x1
- %1의 파일 확장자만 반환한다.
- batch.bat C:\path\file.txt로 실행하면, %~x1은 .txt로 반환한다.
'운영체제 > Windows' 카테고리의 다른 글
배치파일에서 call 명령어 사용법 (0) | 2024.12.15 |
---|---|
배치파일에서 setlocal, setlocal enabledelayedexpansion 사용법 (0) | 2024.12.11 |
DISM을 사용하여 Windows 기능 켜기/끄기 하는 법 (0) | 2024.10.16 |
Windows ] IP가 169.254.x.x로 설정되어 바뀌지 않을 때 해결 방법 (0) | 2024.09.20 |
배치 파일 활용하여 윈도우 명령 프롬프트에서 사용할 커스텀 명령어 만들기 (0) | 2024.08.02 |