将文件名(路径) 或 URL 分解成它的名称, 目录, 扩展名和驱动器.
SplitPath, InputVar , OutFileName, OutDir, OutExtension, OutNameNoExt, OutDrive
包含要分解的文件名(路径) 或 URL 的输入变量的名称. 除非您希望将变量的内容用作名称, 否则不要将名称包含在百分号中
注意, 此函数文件名路径仅支持反斜杠(\), URL 仅支持正斜杠(/).
[v1.1.21+]: 这个参数可以为 表达式, 但必须使用百分号-空格前缀, 例如 % "red,green,blue"
.
译者注, 表达式的例子:SplitPath, % fileExist("z:\") ? "z:\tmp" : "c:\tmp", _fileName, _fileDir
如果省略, 则不存储相应的值. 否则, 请指定用来保存不带路径的文件名的输出变量的名称. 包含文件的扩展名.
如果省略, 则不存储相应的值. 否则, 请指定用来保存文件目录的输出变量的名称, 包含驱动器字母或共享名(如果有). 即使文件在驱动器的根目录中也不包含最后的反斜杠.
如果省略, 则不存储相应的值. 否则, 请指定用来保存文件扩展名(例如 TXT, DOC 或 EXE) 的输出变量的名称. 不包含句点.
如果省略, 则不存储相应的值. 否则, 请指定用来保存不带路径, 句点和扩展名的文件名的输出变量的名称.
如果省略, 则不存储相应的值. 否则, 请指定用来保存文件的驱动器字母或共享名的输出变量的名称. 如果文件在本地或映射的驱动器中, 则此变量会被设为驱动器字母后跟着冒号(没有反斜杠). 如果文件在网络路径中(UNC), 则变量会被设为共享名, 例如 \\Workstation01
如果不需要相应的信息, 则可以省略相应的输出变量.
如果 InputVar 包含不带驱动器字母的文件名(即没有路径或只是相对路径), 则 OutDrive 会被赋值为空, 但其他变量会被设置正确. 同样地, 如果没有路径, 则 OutDir 会被赋值为空; 而如果有路径但没有文件名, 则 OutFileName 和 OutNameNoExt 都会被置空.
此命令不会检查文件系统中真实的文件和目录. 它只是简单地分析 InputVar 中的字符串.
文件名中的通配符(* 和 ?) 及其他非法字符被视为等同于合法字符, 除了冒号, 反斜杠和句点, 对它们处理时会根据它们在文件的驱动器字母, 目录和扩展名中的性质进行.
对 URL 的支持: 如果 InputVar 包含一个冒号后跟两个斜杠, 如 https://domain.com
或 ftp://domain.com
, 则 OutDir 会被设置为协议前缀加域名加目录(例如 https://domain.com/images) 而 OutDrive 被设置为协议前缀加域名(例如 https://domain.com). 其他所有变量会根据上面的定义对它们进行设置.
A_LoopFileExt, StrSplit(), StringGetPos, StringMid, StringTrimLeft, StringLeft, FileSelectFile, FileSelectFolder, StringSplit
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: