解析文件后缀名[AutoHotkey|AHK][InStr|SubStr][suffix name|后缀名][path|路径][获取文件后缀]


从文件路径或文件名中获取后缀名是一个常见的平台需求。

; 从路径字串中解析文件后缀名, 不包含验证.
; FilePath: 相对路径或绝对路径, 也可以是文件全名.
; -> 包含句点的理想后缀名. 失败时返回false.
GetFileSuffixName(FilePath) {
    ; 分别搜索正反斜线; 如果结果均为false则说明输入是文件名, 否则以最后斜线分割.
    FileSplitPos1 := InStr(FilePath, "\", , -1), FileSplitPos2 := InStr(FilePath, "/", , -1)
    FileFullName := (FileSplitPos1 == false AND FileSplitPos2 == false)
        ? FilePath : SubStr(FilePath, (FileSplitPos1 > FileSplitPos2) ? FileSplitPos1 + 1 : FileSplitPos2 + 1)
    ; 对文件名搜索句点; 如果无法找到则说明文件名中不包含后缀, 否则按最后句点分割.
    FileSplitPos3 := InStr(FileFullName, ".", , -1) ; 此判别 <= 1 意在筛除无名文件.
    return ( ( (FileSplitPos3 <= 1) ? "" : SubStr(FileFullName, FileSplitPos3+1) ) == "")
        ? false : SubStr(FileFullName, FileSplitPos3)
} ; GetFileSuffixName(FilePathOrName)

至此,已可通过函数便捷获取后缀名。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。