2009년 06월 29일
batch file에서 사용되는 파일명 특수 파라메터
(제목에 "파일명 특수 파라메터"라고 써놓았으나 제가 그간 몰랐기 때문에 그렇게 붙여놓은 것이고, 이미 아셨던 분들에겐 전혀 '특수'할 것이 없습니다............)
역시 뭔가 만들기 전에 다른 사람들이 앞서 정리해놓은 것이 있는지 먼저 찾아보는게 순서입니다.
배치파일에 drag-drop으로 어떤 파일이 파라메터로 주어질 때, 그 파일의 경로, 이름, 확장자를 분리하는 것은 열악한 batch command set으로 보통 일이 아닙니다. 대부분 이런 부분의 세세한 처리가 무척이나 번잡스러워서 4DOS(4NT)같은 3rd party command processor를 찾게 되죠.
그러나 실상은, 경로/파일명/확장자 분리 작업은 windows에 들어있는 CMD에서 자동으로 이뤄져서 그저 별도의 파라메터 이름으로 액세스할 수 있습니다. 아래 표를 보면 확장 파라메터가 충분한 수준으로 제공되는 것을 알 수 있습니다.
아마도 Windows 2000의 cmd 부터 적용된 것 같은데, 대략 9년이나 지난 뒷북이기도 하지만, 2000년 이전에 batch를 마스터 해버리신 분들에겐 상당히 생소한 파라메터가 될 것 같아서 소개합니다.
예제를 보시려면 아래 원문 링크를 따라가서 보세요.
via http://windowsitpro.com/article/articleid/13443/how-do-i-pass-parameters-to-a-batch-file.html
역시 뭔가 만들기 전에 다른 사람들이 앞서 정리해놓은 것이 있는지 먼저 찾아보는게 순서입니다.
배치파일에 drag-drop으로 어떤 파일이 파라메터로 주어질 때, 그 파일의 경로, 이름, 확장자를 분리하는 것은 열악한 batch command set으로 보통 일이 아닙니다. 대부분 이런 부분의 세세한 처리가 무척이나 번잡스러워서 4DOS(4NT)같은 3rd party command processor를 찾게 되죠.
그러나 실상은, 경로/파일명/확장자 분리 작업은 windows에 들어있는 CMD에서 자동으로 이뤄져서 그저 별도의 파라메터 이름으로 액세스할 수 있습니다. 아래 표를 보면 확장 파라메터가 충분한 수준으로 제공되는 것을 알 수 있습니다.
아마도 Windows 2000의 cmd 부터 적용된 것 같은데, 대략 9년이나 지난 뒷북이기도 하지만, 2000년 이전에 batch를 마스터 해버리신 분들에겐 상당히 생소한 파라메터가 될 것 같아서 소개합니다.
| Parameter | Description |
| %1 | The normal parameter. |
| %~f1 | Expands %1 to a fully qualified pathname. If you passedonly a filename from the current directory, this parameter would alsoexpand to the drive or directory. |
| %~d1 | Extracts the drive letter from %1. |
| %~p1 | Extracts the path from %1. |
| %~n1 | Extracts the filename from %1, without the extension. |
| %~x1 | Extracts the file extension from %1. |
| %~s1 | Changes the n and x options’ meanings toreference the short name. You would therefore use %~sn1 for the shortfilename and %~sx1 for the short extension. |
The following table shows how you can combine some of the parameters.
| Parameter | Description |
| %~dp1 | Expands %1 to a drive letter and path only. |
| %~sp1 | For short path. |
| %~nx1 | Expands %1 to a filename and extension only. |
예제를 보시려면 아래 원문 링크를 따라가서 보세요.
via http://windowsitpro.com/article/articleid/13443/how-do-i-pass-parameters-to-a-batch-file.html
# by | 2009/06/29 22:00 | 탐험 | 트랙백 | 덧글(0)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]