반응형
배치파일을 작성할 때, 인자 값에 대한 정보를 입력받아서 파일을 작성해야 할 경우가 종종 생긴다. 배치 파일을 실행시키려는데 인자로 파일 이름이 필요하다거나 할 때 쓰인다. 이럴 때 알아두어야 할 입력 인자에 대한 파라미터 값을 알아보자.
* 입력 인자 정보 읽기
다음의 내용으로 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의 확장자만 반환
잘 활용하길 바란다.
반응형
댓글