본문 바로가기
카테고리 없음

[bAT 배치파일 문법] 입력 파라미터 %~1, %~f1, %~d1, %~p1

by I!i어★떤☆날★에Ι!i 2022. 2. 16.
반응형

배치파일을 작성할 때, 인자 값에 대한 정보를 입력받아서 파일을 작성해야 할 경우가 종종 생긴다. 배치 파일을 실행시키려는데 인자로 파일 이름이 필요하다거나 할 때 쓰인다. 이럴 때 알아두어야 할 입력 인자에 대한 파라미터 값을 알아보자.

 

* 입력 인자 정보 읽기

 

다음의 내용으로 test.bat  파일을 만들어 시험해 보았다.

@REM test.bat
@echo off

echo %0
echo %1
echo %2
echo %3

exit /b

 

%0, %1, %2, %3을 출력 시켜보면, 다음과 같이 출력됨을 볼 수 있다.

C:\Project\test>test.bat school.bat dog.bat
test.bat
school.bat
dog.bat
ECHO가 설정되어 있지 않습니다.

C:\Project\test>

%0의 출력으로 test 가 출력 되었다. 이는 현재 실행한 파일의 이름이다.

%1은 school.bat 가 출력 되었다. 첫 번째로 입력한 인자 값이다.

즉, cmd 환경에서는 입력 파라미터에 따라 %0 (실행파일), %1 ~ %9까지의 입력 인자를 알 수 있다.

 

반응형

 

* 배치파일 입력 인자 정보의 확장

 

이러한 입력 인자에 대해서도 다음과 같이 여러 가지 방법을 통해서 다양한 정보를 얻을 수 있다.

@REM test.bat
@echo off

echo %1
echo %~1
echo %~f1
echo %~d1
echo %~p1
echo %~n1
echo %~x1

exit /b

 

각 인자를 받을 때의 정보를 확장하여 얻을 수 있다. 위에서 인자의 숫자를 %2, %3 등으로 변경하여 2번째 또는 3번째 인자의 정보를 얻을 수 있다.

C:\Project\test>test.bat school.bat dog.bat
school.bat
school.bat
C:\Project\test\school.bat
C:
\Project\test\
school
.bat

C:\Project\test>

 

각 명령에 대한 설명은 다음과 같다.

%1        : 첫 번째 파라미터
%~1     : %1에 대한 확장. %1과 같음.
%~f1    : %1의 전체 경로를 포함한 문자를 반환
%~d1   : %1의 드라이브 문자만 반환
%~p1   : %1의 드라이브 문자를 제외한 경로(PATH)만 반환
%~n1   : %1의 파일 이름만 반환
%~x1   : %1의 확장자만 반환

 

잘 활용하길 바란다.

반응형

댓글