본문 바로가기
ETC/Tech.

[BatchScript] 실행 파일의 인자값 파싱

by 허도치 2019. 11. 28.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$ call /?
 
...
 
일괄 스크립트에 있는 %*는 모든 인수를 참조합니다.
 (예: %1 %2 %3 %4 %5 ...).
 
일괄 변수(%n)의 기능이 다양해졌으며 다음과 같은 구문을
사용할 수 있습니다:
 
   %~1         - 인용 부호(")를 제거하면서 %1을 확장합니다.
   %~f1        - %1을 정규화된 경로 이름으로 확장합니다.
   %~d1        - %1을 드라이브 문자로만 확장합니다.
   %~p1        - %1을 경로로만 확장합니다.
   %~n1        - %1을 파일 이름으로만 확장합니다.
   %~x1        - %1을 파일 확장명으로만 확장합니다.
   %~s1        - 경로에서 짧은 이름만을 포함하도록 변경합니다.
   %~a1        - %1을 파일 속성으로 확장합니다.
   %~t1         - %1을 날짜/시간으로 확장합니다.
   %~z1        - %1을 파일 크기로 확장합니다.
   %~$PATH:1   - PATH 환경 변수에 나열된 디렉터리에서 %1을
                        찾아서 처음 발견한 정규화된 이름으로 확장합니다.
                        환경 변수 이름이 정의되지 않았거나 찾기를 가지고
                        파일을 찾지 못했으면 이 수정자가 빈 문자열로
                        확장합니다.
 
수정자는 결합되어 복합 결과를 얻을 수 있습니다.
 
         %~dp1       - %1을(를) 드라이브 문자와 경로로만 확장합니다.
         %~nx1       - %1을 (를) 파일 이름과 확장자로만 확장합니다.
         %~dp$PATH:1    - PATH 환경 변수에 나열된 디렉터리에서 %1을(를)
                       찾아서 처음 발견된 드라이브 문자와 경로로 확장합니다.
 
         %~ftza1     - %1을(를) 출력 행과 같은 DIR로 확장합니다.
 
위의 예에서 %1와 PATH는 다른 값으로 바뀔 수 있습니다.
%~ 구문은 올바른 매개 변수에 의해 종료됩니다.
%~ 수정자는 %*와 함께 사용될 수 없습니다.
cs

댓글