# fileparts


获取文件名的组成部分

函数库: TyBase

# 语法

filepath, name, ext = fileparts(filename)

# 说明

filepath, name, ext = fileparts(filename) 返回指定文件的路径名称、文件名和扩展名。

fileparts 仅解析指定的 filename。不会验证文件是否存在。示例

# 示例

获取 Windows 文件名的组成部分
using TyBase
file = "H:\\user4\\Syslab\\myfile.txt";
filepath, name, ext = fileparts(file)
("H:\\user4\\Syslab", "myfile", ".txt")
获取 Linux 的 Dotfile 文件名的组成部分

获取 Linux® 系统的用户 .cshrc 文件名的组成部分。

fileparts 将整个文件名解释为一个扩展名,因为它以句点开头。

using TyBase
filepath, name, ext = fileparts("/home/jsmith/.cshrc")
("/home/jsmith", "", ".cshrc")
获从字符串数组中获取部分文件名
using TyBase
files1_4 = ["H:/user1/Syslab/file1.txt" "H:/user2/Syslab/file2.txt";
    "H:/user3/Syslab/file3.txt" "H:/user4/Syslab/file4.txt"];
path, name, ext = fileparts(files1_4)
(["H:/user1/Syslab" "H:/user2/Syslab"; "H:/user3/Syslab" "H:/user4/Syslab"], ["file1" "file2"; "file3" "file4"], [".txt" ".txt"; ".txt" ".txt"])

# 输入参数

filename - 文件名
字符串 | 字符串数组

文件名,指定为字符串或字符串数组。filename 可以包含路径和文件扩展名。

在 Microsoft® Windows® 系统上,您可以使用正斜杠 (/) 或反斜杠 (\\) 作为路径分隔符(即使在同一文件名内)。在 UNIX® 和 Macintosh 系统上,仅使用 / 作为分隔符。

数据类型: String

# 输出参数

filepath - 文件路径
字符串 | 字符串数组

文件路径,以字符串或字符串数组形式返回。filepath 的数据类型与输入参数 filename 相同。如果要解析的文件的名称未指定路径,则 filepath 为空 ("")。

数据类型: String

name - 文件名
字符串 | 字符串数组

文件名,以字符串或字符串数组形式返回。name 的数据类型与输入参数 filename 相同。

不包括扩展名。fileparts 将最右侧分隔符后面的所有字符解释为文件名和扩展名。

数据类型: String

ext - 文件扩展名
字符串 | 字符串数组

文件扩展名,以字符串或字符串数组形式返回。ext 的数据类型与输入参数 filename 相同。

ext 以句点 (.) 开头。如果要解析的文件的名称未指定扩展名,则 ext 为空 ('')。

数据类型: String

# 提示

  • 要根据 fileparts 的输出重新构造文件名,请使用 strcat 串联文件名和以句点 (.) 开头且没有路径分隔符的扩展名。然后使用 fullfile 构造文件名,必要时可以使用平台相关的文件分隔符。例如,fullfile(filepath, strcat(name,ext));

  • 要想只指定文件夹名称,请确保 filename 中最右侧的字符为分隔符(/ 或 \\)。否则,fileparts 会将 filename 的尾部解析为文件名,并在 name 而不是 filepath 中返回该部分。

# 另请参阅

fullfile