SplitPath

파일 이름이나 URL을 이름, 디렉토리, 확장자, 그리고 드라이브로 가릅니다.

SplitPath, InputVar , OutFileName, OutDir, OutExtension, OutNameNoExt, OutDrive

매개변수

InputVar

Name of the input variable containing the file name or URL to be analyzed.

Note that this command expects filename paths to contain backslashes (\) only and URLs to contain forward slashes (/) only.

[v1.1.21+]: 이 매개변수는 % 표현식이 될 수 있지만, 퍼센트-스페이스 접두사가 반드시 사용되어야 합니다.

OutFileName

Name of the output variable in which to store the file name without its path. 파일의 확장자는 포함됩니다.

OutDir

Name of the output variable in which to store the directory of the file, including drive letter or share name (if present). 파일이 드라이브의 루트 디렉토리에 있다면 마지막의 역사선은 포함되지 않습니다.

OutExtension

Name of the output variable in which to store the file's extension (e.g. TXT, DOC, or EXE). 점은 포함되지 않습니다.

OutNameNoExt

Name of the output variable in which to store the file name without its path, dot and extension.

OutDrive

Name of the output variable in which to store the drive letter or server name of the file. 파일이 로컬 또는 맵 드라이브에 있다면, 변수는 드라이브 기호와 다름 쌍점 (역사선 없음)이 설정됩니다. 파일이 네트워크 경로에 있다면 (UNC), 변수는 공유 이름이 설정됩니다. 예, \\Workstation01

논평

출력 변수는 상응하는 정보가 필요하지 않으면 생략할 수 있습니다.

InputVar에 파일이름이 들어 있는데 드라이브 기호가 없다며 (즉, 경로가 없거나 단순히 상대 경로만 있다면), OutDrive는 비워지지만 다른 모든 출력 변수는 올바르게 설정됩니다. 비슷하게, 경로가 존재하지 않으면, OutDir은 비워집니다; 그리고 경로는 있으나 파일이름이 없으면, OutFileNameOutNameNoExt가 비워집니다.

시스템에서 실제 파일과 디렉토리는 이 명령어로 점검되지 않습니다. 그냥 InputVar에 주어진 문자열을 분석할 뿐입니다.

파일이름에 유효하지 않은 와일드카드 (* 그리고 ?) 그리고 기타 문자는 유효한 문자로 취급합니다. 단, 예외는 쌍점, 역사선, 그리고 점입니다. 이것들은 각자 임무에 따라 파일의 드라이브 기호와 디렉토리 그리고 확장자를 구분하는 데 사용됩니다.

URL 지원: InputVar에 쌍점과 두개의 정사선이 포함되어 있다면, 예를 들어 https://domain.com or ftp://domain.com와 같은 경우, OutDir는 프로토콜 접두어 + 도메인 이름 + 디렉토리 (예, https://domain.com/images)가 설정됩니다. 그리고 OutDrive는 프로토콜 접두어 + 도메인 이름 (예, https://domain.com)이 설정됩니다. 다른 모든 변수는 위에 정의된 대로 설정됩니다.

A_LoopFileExt, StrSplit(), StringGetPos, StringMid, StringTrimLeft, StringLeft, FileSelectFile, FileSelectFolder, StringSplit

예제

Demonstrates different usages.

FullFileName := "C:\My Documents\Address List.txt"
   
; 위로부터 파일이름만 가져 옵니다:
SplitPath, FullFileName, name

; 디렉토리만 가져 옵니다:
SplitPath, FullFileName,, dir

; 모든 정보를 가져 옵니다:
SplitPath, FullFileName, name, dir, ext, name_no_ext, drive
   
; 위로부터 변수들은 다음과 같이 설정됩니다:
; name = Address List.txt
; dir = C:\My Documents
; ext = txt
; name_no_ext = Address List
; drive = C: