跳到主要内容

追加文件扩展名 (file.path.add_extension)

声明​

新路径, 错误信息 = file.path.add_extension(路径, 扩展名)

参数​

  • 路径
    文本型,基础路径字符串
  • 扩展名
    文本型,要追加的文件扩展名,通常不包含前导 .

返回值​

  • 新路径
    文本型 或 nil,成功时返回追加扩展名后的路径字符串,无法追加时返回 nil
  • 错误信息
    文本型,路径字符串无效时返回 "Invalid path",扩展名字符串无效时返回 "Invalid extension";扩展名包含 / 等导致无法追加时,可能只返回 nil 而不提供错误信息

说明​

在路径末尾追加 . 和指定的扩展名;如果原路径已有扩展名,新扩展名会追加在现有扩展名之后,例如 file.txt 追加 bak 后为 file.txt.bak
传入的扩展名可以包含前导 .,但此函数不会去掉它;传入 .txt 会追加 ..txt
此函数只生成路径字符串,不会重命名实际的文件或目录
该函数在 20250914 以后的版本方可使用

示例​

local new_path = file.path.add_extension("/path/to/file", "txt") -- 返回 "/path/to/file.txt"
local archive_path = file.path.add_extension("/path/to/file.tar", "gz") -- 返回 "/path/to/file.tar.gz"
local backup_path = file.path.add_extension("/path/to/file.txt", "bak") -- 返回 "/path/to/file.txt.bak"
local dotted_path = file.path.add_extension("/path/to/file", ".txt") -- 返回 "/path/to/file..txt"