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

  • 标题:
    解析文件后缀名
  • 标签:
    AutoHotkey | AHK | InStr | SubStr | suffix name | 后缀名 | path | 路径 | 获取文件后缀
  • 标注:
    https://www.jianshu.com/p/f7b4adb52225
    https://www.jianshu.com/u/1275d25b625e

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

; 从路径字串中解析文件后缀名, 不包含验证.
; 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)


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

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
庄微微的头像 - 宋马
评论 抢沙发

请登录后发表评论

    暂无评论内容