XDSoft 发表于 2025-5-23 17:22:27

XDrxAPI 15 个 Filename 函数帮助手册

1
函数名称: xdrx-filename-associated-app

描述:
该函数获取指定文件关联的应用程序路径,支持多个文件输入。

调用格式:
(xdrx-filename-associated-app "文件名"...)

参数说明:
* "文件名": 可变参数,一个或多个文件名字符串

返回值:
返回关联应用程序路径列表

示例用法1:
(xdrx-filename-associated-app "test.dwg")
返回: ("C:\\Program Files\\Autodesk\\AutoCAD 2023\\acad.exe")

示例用法2:
(xdrx-filename-associated-app "test.txt" "test.pdf")
返回: ("C:\\Windows\\notepad.exe" "C:\\Program Files\\Adobe\\Acrobat\\Acrobat.exe")

注意事项:
1. 支持同时查询多个文件关联
2. 返回每个文件对应的关联程序完整路径
3. 路径格式为宽字符串
4. 文件不存在时返回空路径
------------------------------------------------------------
2
函数名称: xdrx-filename-basename

描述:
该函数获取文件的基本名称(不含路径和扩展名)。

调用格式:
(xdrx-filename-basename "文件路径")

参数说明:
* "文件路径": 必需参数,文件完整路径字符串

返回值:
返回文件基本名称字符串

示例用法1:
(xdrx-filename-basename "C:/test/example.dwg")
返回: "example"

示例用法2:
(xdrx-filename-basename "D:/data/report.txt")
返回: "report"

注意事项:
1. 仅支持单个文件路径输入
2. 返回纯文件名(不含路径和扩展名)
3. 输入必须是有效文件路径
4. 路径分隔符可以是正斜杠或反斜杠
------------------------------------------------------------
3
函数名称: xdrx-filename-cad-root

描述:
该函数获取主流CAD软件(AutoCAD/中望CAD/浩辰CAD)的安装根目录路径,通过读取Windows注册表实现。

调用格式:
(xdrx-filename-cad-root)

参数说明:
无参数

返回值:
返回CAD软件安装目录路径字符串,失败返回空字符串

示例用法:
(xdrx-filename-cad-root)
返回: "C:\\Program Files\\Autodesk\\AutoCAD 2023"

注意事项:
1. 支持三种主流CAD软件:
   - AutoCAD(ACAD)
   - 中望CAD(ZWCAD/GRX)
   - 浩辰CAD(GSTARCAD/ZRX)
2. 自动识别不同CAD软件的注册表键值
3. 通过读取HKEY_LOCAL_MACHINE注册表获取路径
4. 返回去除末尾斜杠的规范化路径
5. 路径格式为宽字符串(UTF-16)
------------------------------------------------------------
4
函数名称: xdrx-filename-dir-on-path

描述:
检查指定路径是否存在于系统PATH环境变量中,支持多种PATH类型检查。

调用格式:
(xdrx-filename-dir-on-path "路径" [类型])

参数说明:
* "路径": 必需参数,要检查的路径字符串(支持多个路径输入)
* [类型]: 可选参数,PATH类型(0=系统PATH,1=用户PATH,2=进程PATH,默认为0)

返回值:
返回T表示路径存在PATH中,nil表示不存在

示例用法1:
(xdrx-filename-dir-on-path "C:\\Program Files\\Autodesk")
返回: T

示例用法2:
(xdrx-filename-dir-on-path "D:\\Tools" 1)
返回: nil (用户PATH中不存在)

注意事项:
1. 支持同时检查多个路径
2. 路径比较不区分大小写
3. 自动处理三种PATH环境变量:
   - 0: 系统PATH(默认)
   - 1: 用户PATH(HKCU\Environment)
   - 2: 当前进程PATH
4. 返回T/nil的LISP布尔值
------------------------------------------------------------
5
函数名称: xdrx-filename-directory

描述:
获取文件路径的目录部分,可选择是否包含文件名扩展部分。

调用格式:
(xdrx-filename-directory "文件路径" )

参数说明:
* "文件路径": 必需参数,文件完整路径字符串
* : 可选参数,T=包含扩展名,nil=不包含扩展名(默认)

返回值:
返回目录路径字符串

示例用法1:
(xdrx-filename-directory "C:/test/example.dwg")
返回: "C:/test"

示例用法2:
(xdrx-filename-directory "D:/data/report.txt" T)
返回: "D:/data/report.txt"

注意事项:
1. 返回规范化路径(统一使用正斜杠)
2. 可选参数控制是否保留文件名扩展部分
3. 支持绝对路径和相对路径输入
4. 自动处理路径分隔符转换
------------------------------------------------------------
6
函数名称: xdrx-filename-ext-remove

描述:
智能移除文件路径中的扩展名部分,精确处理路径中的点号,支持多个文件路径输入。

调用格式:
(xdrx-filename-ext-remove "文件路径"...)

参数说明:
* "文件路径": 必需参数,一个或多个文件路径字符串

返回值:
返回不带扩展名的路径字符串列表

示例用法1:
(xdrx-filename-ext-remove "C:/test/example.dwg")
返回: "C:/test/example"

示例用法2:
(xdrx-filename-ext-remove "report.txt" "data/file.name.csv")
返回: ("report" "data/file.name")

注意事项:
1. 精确处理路径中的点号:
   - 只移除最后一个路径分隔符后的点号
   - 忽略目录名中的点号(如"./test.dir/file")
2. 同时支持正斜杠(/)和反斜杠(\)路径分隔符
3. 支持同时处理多个文件路径
4. 处理宽字符串路径(支持Unicode)
5. 返回规范化路径(统一使用正斜杠)
------------------------------------------------------------
7
函数名称: xdrx-filename-extension

描述:
获取文件的扩展名部分(不包含点号),支持宽字符路径。

调用格式:
(xdrx-filename-extension "文件路径")

参数说明:
* "文件路径": 必需参数,文件完整路径字符串

返回值:
返回文件扩展名字符串(不含点号),无扩展名时返回空字符串

示例用法1:
(xdrx-filename-extension "C:/test/example.dwg")
返回: "dwg"

示例用法2:
(xdrx-filename-extension "README")
返回: ""

注意事项:
1. 返回的扩展名不包含点号
2. 仅支持单个文件路径输入
3. 使用标准文件系统库处理路径
4. 自动处理宽字符路径(Unicode)
5. 无扩展名时返回空字符串而非nil
------------------------------------------------------------
8
函数名称: xdrx-filename-long-path

描述:
将短路径(如"PROGRA~1")转换为完整长路径,支持多个路径输入。

调用格式:
(xdrx-filename-long-path "路径"...)

参数说明:
* "路径": 必需参数,一个或多个短路径字符串

返回值:
返回对应的长路径字符串列表,转换失败时返回原路径

示例用法1:
(xdrx-filename-long-path "C:\\PROGRA~1")
返回: "C:\\Program Files"

示例用法2:
(xdrx-filename-long-path "D:\\TEMP\\DOCUME~1" "E:\\MYDOCU~1")
返回: ("D:\\Temp\\Documents" "E:\\MyDocuments")

注意事项:
1. 支持同时转换多个短路径
2. 使用Windows API GetLongPathName进行转换
3. 转换失败时返回原路径
4. 处理宽字符串路径(支持Unicode)
5. 最大路径长度为MAX_PATH(260字符)
------------------------------------------------------------
9
函数名称: xdrx-filename-name

描述:
获取文件的完整名称(包含扩展名),自动转换为小写格式。

调用格式:
(xdrx-filename-name "文件路径")

参数说明:
* "文件路径": 必需参数,文件完整路径字符串

返回值:
返回文件名字符串(包含扩展名)

示例用法1:
(xdrx-filename-name "C:/test/Example.DWG")
返回: "example.dwg"

示例用法2:
(xdrx-filename-name "D:/data/Report2023.PDF")
返回: "report2023.pdf"

注意事项:
1. 返回包含扩展名的完整文件名
2. 自动将结果转换为小写
3. 仅支持单个文件路径输入
4. 使用标准文件系统库处理路径
5. 输入必须是文件路径(非目录路径)
------------------------------------------------------------
10
函数名称: xdrx-filename-gennextname

描述:
生成不重复的递增文件名,自动处理扩展名和目录路径。

调用格式:
(xdrx-filename-gennextname "基础文件名" ["目录"] ["扩展名"])

参数说明:
* "基础文件名": 必需参数,基础文件名或路径
* ["目录"]: 可选参数,指定输出目录(默认使用基础文件所在目录)
* ["扩展名"]: 可选参数,指定文件扩展名(带或不带点号)

返回值:
返回新生成的不重复文件名(完整路径)

示例用法1:
(xdrx-filename-gennextname "report.txt")
返回: "C:/docs/report(1).txt"

示例用法2:
(xdrx-filename-gennextname "data" "D:/output" "csv")
返回: "D:/output/data(1).csv"

注意事项:
1. 自动处理扩展名中的点号(带或不带均可)
2. 目录参数可选,默认使用基础文件所在目录
3. 自动添加递增计数器避免文件名冲突
4. 处理宽字符串路径(支持Unicode)
5. 返回完整规范化路径
------------------------------------------------------------
11
函数名称: xdrx-filename-normalize

描述:
规范化文件路径(非Windows系统统一路径分隔符),支持多个路径输入。

调用格式:
(xdrx-filename-normalize "路径"...)

参数说明:
* "路径": 必需参数,一个或多个文件路径字符串

返回值:
返回规范化后的路径字符串列表

示例用法1:
(xdrx-filename-normalize "C:\\test\\file.txt")
返回: "C:\\test\\file.txt" (Windows系统)
或 "C:/test/file.txt" (非Windows系统)

示例用法2:
(xdrx-filename-normalize "dir\\subdir\\file" "/another/path")
返回: ("dir/subdir/file" "/another/path") (非Windows系统)

注意事项:
1. Windows系统直接返回原路径
2. 非Windows系统统一将反斜杠转换为正斜杠
3. 支持同时处理多个文件路径
4. 处理宽字符串路径(支持Unicode)
5. 不修改路径的其他部分(如大小写)
------------------------------------------------------------
12
函数名称: xdrx-filename-path-remove

描述:
从PATH环境变量中移除指定路径,支持多种PATH类型。

调用格式:
(xdrx-filename-path-remove "路径" [类型])

参数说明:
* "路径": 必需参数,要移除的路径字符串(支持多个路径输入)
* [类型]: 可选参数,PATH类型(0=系统PATH,1=用户PATH,2=进程PATH,默认为2)

返回值:
返回T表示移除成功,nil表示失败或路径不存在

示例用法1:
(xdrx-filename-path-remove "C:\\Program Files\\Autodesk" 0)
返回: T (从系统PATH中移除成功)

示例用法2:
(xdrx-filename-path-remove "D:\\Tools" 1)
返回: nil (用户PATH中不存在该路径)

注意事项:
1. 支持同时移除多个路径
2. 路径比较不区分大小写
3. 自动处理三种PATH环境变量:
   - 0: 系统PATH(HKLM\System\CurrentControlSet\Control\Session Manager\Environment)
   - 1: 用户PATH(HKCU\Environment)
   - 2: 当前进程PATH(默认)
4. 需要管理员权限才能修改系统PATH
------------------------------------------------------------
13
函数名称: xdrx-filename-short-path

描述:
将长路径转换为短路径格式(8.3格式),支持多个路径输入。

调用格式:
(xdrx-filename-short-path "路径"...)

参数说明:
* "路径": 必需参数,一个或多个长路径字符串

返回值:
返回对应的短路径字符串列表,转换失败时返回原路径

示例用法1:
(xdrx-filename-short-path "C:\\Program Files\\Autodesk")
返回: "C:\\PROGRA~1\\AUTODE~1"

示例用法2:
(xdrx-filename-short-path "D:\\My Documents\\Report.docx")
返回: "D:\\MYDOCU~1\\REPORT~1.DOC"

注意事项:
1. 支持同时转换多个长路径
2. 使用Windows API GetShortPathName进行转换
3. 转换失败时返回原路径
4. 处理宽字符串路径(支持Unicode)
5. 短路径格式为8.3(文件名8字符+扩展名3字符)
------------------------------------------------------------
14
函数名称: xdrx-filename-supportpath-remove

描述:
从AutoCAD支持路径中移除文件路径部分,返回纯文件名或完整路径。

调用格式:
(xdrx-filename-supportpath-remove "路径"...)

参数说明:
* "路径": 必需参数,一个或多个文件路径字符串

返回值:
如果在支持路径中返回纯文件名,否则返回完整路径

示例用法1:
(xdrx-filename-supportpath-remove "C:/ACAD/Support/test.dwg")
返回: "test.dwg" (如果在支持路径中)

示例用法2:
(xdrx-filename-supportpath-remove "D:/MyFiles/example.lsp")
返回: "D:/MyFiles/example.lsp" (如果不在支持路径中)

注意事项:
1. 支持同时处理多个文件路径
2. 检查AutoCAD支持路径列表
3. 在支持路径中返回纯文件名(不含路径)
4. 不在支持路径中返回完整原始路径
5. 处理宽字符串路径(支持Unicode)
------------------------------------------------------------
15
函数名称: xdrx-filename-valid

描述:
验证文件路径是否存在,支持多个路径输入。

调用格式:
(xdrx-filename-valid "路径"...)

参数说明:
* "路径": 必需参数,一个或多个文件路径字符串

返回值:
返回T表示路径存在,nil表示路径不存在

示例用法1:
(xdrx-filename-valid "C:/test/file.txt")
返回: T (如果文件存在)

示例用法2:
(xdrx-filename-valid "D:/nonexistent/file.lsp")
返回: nil (如果文件不存在)

注意事项:
1. 支持同时验证多个文件路径
2. 使用标准文件系统库检查存在性
3. 处理宽字符串路径(支持Unicode)
4. 仅检查文件存在性,不验证可访问性
5. 路径可以是文件或目录
------------------------------------------------------------


页: [1]
查看完整版本: XDrxAPI 15 个 Filename 函数帮助手册