XDSoft 发表于 2025-5-23 03:55:22

XDrxAPI 70 个 File 函数帮助手册

1
函数名称: xdrx-file-find

描述:
在支持路径中查找指定文件

调用格式:
(xdrx-file-find <文件名1> [<文件名2> ...])

参数说明:
* <文件名>: 要查找的文件名(可多个)

返回值:
返回找到的完整文件路径列表,未找到返回空字符串

示例用法1:
(xdrx-file-find "acad.lsp")
; 返回("C:\\Program Files\\Autodesk\\acad.lsp")

示例用法2:
(xdrx-file-find "acad.lsp" "test.dwg")
; 返回多个文件的查找结果

实现特点:
1. 支持多文件同时查找
2. 自动搜索支持路径
3. 智能处理相对/绝对路径
4. 支持带路径的文件名
5. 返回标准化路径

注意事项:
1. 支持路径需预先配置
2. 区分大小写
3. 网络路径可能受限
4. 返回完整绝对路径
5. 多个结果按输入顺序返回
------------------------------------------------------------
2
函数名称: xdrx-file->list

描述:
读取文本文件内容并转换为列表,支持过滤注释行

调用格式:
(xdrx-file->list <文件路径> [<注释字符>])

参数说明:
* <文件路径>: 要读取的文本文件路径
* <注释字符>: 可选,指定注释行起始字符(如";#")

返回值:
返回文件内容行列表(过滤注释行后)

示例用法1:
(xdrx-file->list "config.txt")
; 读取文件所有非注释行

示例用法2:
(xdrx-file->list "script.lsp" ";")
; 过滤以分号开头的注释行

实现特点:
1. 自动检测文件编码
2. 支持多种文本编码
3. 可自定义注释标记
4. 完整内容读取
5. 高效行处理

注意事项:
1. 需文本文件权限
2. 大文件可能内存受限
3. 二进制文件不适用
4. 注释仅检查行首
5. 空行会保留
------------------------------------------------------------
3
函数名称: xdrx-file-abspath-to-rel

描述:
将绝对路径转换为相对于基准路径的相对路径

调用格式:
(xdrx-file-abspath-to-rel <基准路径> <文件路径列表> )

参数说明:
* <基准路径>: 作为参考的基准路径
* <文件路径列表>: 要转换的绝对路径(单个或多个)
* T: 可选参数,是否复制文件到相对位置

返回值:
返回转换后的相对路径列表

示例用法1:
(xdrx-file-abspath-to-rel "C:/Project" "C:/Project/src/main.cpp")
; 返回("src/main.cpp")

示例用法2:
(xdrx-file-abspath-to-rel "D:/Work" '("D:/Work/docs/a.txt" "D:/Work/lib/b.dll") T)
; 转换并复制文件

实现特点:
1. 支持多路径批量转换
2. 可选文件复制功能
3. 智能路径规范化处理
4. 支持逗号分隔的路径列表
5. 自动处理不同路径格式

注意事项:
1. 基准路径必须为绝对路径
2. 文件需有读取权限
3. T参数会修改文件系统
4. 网络路径可能受限
5. 路径分隔符自动统一
------------------------------------------------------------
4
函数名称: xdrx-file-accesstime

描述:
获取文件最后访问时间的详细时间信息

调用格式:
(xdrx-file-accesstime <文件路径>)

参数说明:
* <文件路径>: 要查询的目标文件路径

返回值:
返回包含7个元素的列表(年 月 星期 日 时 分 秒),失败返回nil

示例用法:
(xdrx-file-accesstime "report.txt")
; 返回(2025 5 3 20 14 30 45) 表示2025年5月20日周二14:30:45

实现特点:
1. 使用Windows文件系统API
2. 返回本地时区时间
3. 精确到秒级
4. 自动处理时间转换
5. 完整时间组件返回

注意事项:
1. 需要文件读取权限
2. 文件必须存在
3. 网络文件可能受限
4. 返回值为整数列表
5. 星期从0开始(0=周日)
------------------------------------------------------------
5
函数名称: xdrx-file-attrib

描述:
获取或设置文件属性标志

调用格式:
(xdrx-file-attrib [<文件路径> [<属性值>]])

参数说明:
* <文件路径>: 目标文件路径(默认为当前目录所有文件)
* <属性值>: 可选,要设置的属性标志值(0-15)

返回值:
返回文件属性列表(文件名.属性值),无参数时返回所有文件属性

示例用法1:
(xdrx-file-attrib)
; 返回当前目录所有文件属性(("a.txt" . 1) ("b.dll" . 4))

示例用法2:
(xdrx-file-attrib "data.txt" 1)
; 设置data.txt为只读属性并返回新属性

实现特点:
1. 支持通配符路径
2. 批量属性操作
3. 属性值位编码
4. 自动路径处理
5. 双向操作(读/写)

注意事项:
1. 需要文件系统权限
2. 属性值范围0-15
3. 不处理目录
4. 网络文件可能受限
5. 位编码:1=只读 2=隐藏 4=系统 8=存档
------------------------------------------------------------
6
函数名称: xdrx-file-backup

描述:
创建文件的备份副本,自动添加"_bak"后缀

调用格式:
(xdrx-file-backup <文件路径> [<文件路径2> ...])

参数说明:
* <文件路径>: 要备份的文件路径(可多个)

返回值:
返回备份文件路径列表,失败返回nil

示例用法1:
(xdrx-file-backup "config.ini")
; 返回("config_bak.ini")

示例用法2:
(xdrx-file-backup "a.txt" "b.txt")
; 批量备份多个文件

实现特点:
1. 自动处理文件扩展名
2. 支持多文件批量备份
3. 强制覆盖已存在备份
4. 完整路径保持
5. 错误静默处理

注意事项:
1. 原始文件必须存在
2. 需要写入权限
3. 网络路径可能受限
4. 不检查磁盘空间
5. 备份文件可能被覆盖
------------------------------------------------------------
7
函数名称: xdrx-file-backup-delete

描述:
删除由xdrx-file-backup创建的备份文件

调用格式:
(xdrx-file-backup-delete [<文件路径>])

参数说明:
* <文件路径>: 可选,要删除备份的原始文件路径(空则删除所有备份)

返回值:
成功返回T,失败返回nil

示例用法1:
(xdrx-file-backup-delete "config.ini")
; 删除config.ini的备份文件config_bak.ini

示例用法2:
(xdrx-file-backup-delete)
; 删除所有备份文件

实现特点:
1. 自动识别备份文件名规则
2. 支持批量删除所有备份
3. 静默错误处理
4. 精确匹配备份文件
5. 支持无参数调用

注意事项:
1. 需要文件删除权限
2. 仅删除符合命名规则的备份
3. 网络路径可能受限
4. 无确认直接删除
5. 空参数会清空所有备份
------------------------------------------------------------
8
函数名称: xdrx-file-charset
函数别名: xdrx-file-encoding

描述:
检测文本文件的字符编码格式

调用格式:
(xdrx-file-charset <文件路径>)

参数说明:
* <文件路径>: 要检测的文本文件路径

返回值:
返回编码格式字符串,如"UTF-8"、"GB2312"等,失败返回nil

示例用法:
(xdrx-file-charset "readme.txt")
; 返回"UTF-8"

支持编码格式:
1. UTF-8/UTF-16
2. GB2312/GBK/Big5
3. ISO-8859系列
4. Windows代码页系列
5. 日韩编码等

实现特点:
1. 使用uchardet检测库
2. 二进制模式读取
3. 自动处理空文件
4. 支持多种常见编码
5. 精确编码识别

注意事项:
1. 需要文件读取权限
2. 仅适用于文本文件
3. 大文件可能内存受限
4. 二进制文件检测不准
5. 某些编码可能混淆
------------------------------------------------------------
9
函数名称: xdrx-file-convertcharset
函数别名:xdrx-file-convertencoding

描述:
转换文本文件的字符编码格式

调用格式:
(xdrx-file-convertcharset <输入文件> <输出文件> [<源编码> <目标编码>])

参数说明:
* <输入文件>: 源文件路径
* <输出文件>: 转换后文件路径
* <源编码>: 可选,源文件编码(默认自动检测)
* <目标编码>: 可选,目标编码(默认UTF-8)

返回值:
成功返回T,失败返回nil

示例用法1:
(xdrx-file-convertcharset "a.txt" "b.txt")
; 自动检测编码并转换为UTF-8

示例用法2:
(xdrx-file-convertcharset "gbk.txt" "utf8.txt" "GBK" "UTF-8")
; 指定编码转换

实现特点:
1. 支持自动编码检测
2. 二进制模式安全处理
3. 完善的错误处理
4. 支持多种编码转换
5. 文本文件验证

注意事项:
1. 需要读写权限
2. 仅适用于文本文件
3. 大文件可能内存受限
4. 编码名称需准确
5. 会覆盖输出文件
------------------------------------------------------------
10
函数名称: xdrx-file-copy

描述:
智能文件复制功能,支持逻辑路径处理

调用格式:
(xdrx-file-copy <源文件> <目标路径> )

参数说明:
* <源文件>: 要复制的源文件路径
* <目标路径>: 目标文件或目录路径
* T: 可选参数,启用逻辑路径处理

返回值:
成功返回目标路径,失败返回nil

示例用法1:
(xdrx-file-copy "a.txt" "backup/")
; 复制到backup目录

示例用法2:
(xdrx-file-copy "a.txt" "b.txt" T)
; 使用逻辑路径处理复制

实现特点:
1. 智能路径解析
2. 支持目录目标
3. 逻辑路径处理选项
4. 完整路径保持
5. 错误静默处理

注意事项:
1. 需要读写权限
2. 目标目录需存在
3. 网络路径可能受限
4. 会覆盖同名文件
5. T参数启用高级路径逻辑
------------------------------------------------------------
11
函数名称: xdrx-file-crc

描述:
计算文件的CRC32/CRC64校验值

调用格式:
(xdrx-file-crc <文件路径>)

参数说明:
* <文件路径>: 要计算校验值的文件路径

返回值:
返回16进制字符串表示的校验值(32位或64位),失败返回nil

示例用法:
(xdrx-file-crc "data.bin")
; 返回"3D4B2E1A"或"7F3A5C8B2E1D4F6C"

实现特点:
1. 自动选择32/64位算法
2. 二进制模式读取
3. 大文件支持
4. 高效计算
5. 跨平台兼容

注意事项:
1. 需要文件读取权限
2. 适用于任意文件类型
3. 不同系统可能结果不同
4. 网络文件可能受限
5. 空文件返回有效校验值
------------------------------------------------------------
12
函数名称: xdrx-file-createtime

描述:
获取文件的创建时间详细信息

调用格式:
(xdrx-file-createtime <文件路径>)

参数说明:
* <文件路径>: 要查询的目标文件路径

返回值:
返回包含7个元素的列表(年 月 星期 日 时 分 秒),失败返回nil

示例用法:
(xdrx-file-createtime "report.txt")
; 返回(2025 5 3 20 14 30 45) 表示2025年5月20日周二14:30:45

实现特点:
1. 使用Windows文件系统API
2. 返回本地时区时间
3. 精确到秒级
4. 自动处理时间转换
5. 完整时间组件返回

注意事项:
1. 需要文件读取权限
2. 文件必须存在
3. 网络文件可能受限
4. 返回值为整数列表
5. 星期从0开始(0=周日)
------------------------------------------------------------
13
函数名称: xdrx-file-csv->json

描述:
将CSV文件转换为JSON格式文件

调用格式:
(xdrx-file-csv->json <输入文件> [<输出文件>])

参数说明:
* <输入文件>: 要转换的CSV文件路径
* <输出文件>: 可选参数,指定输出JSON文件路径

返回值:
成功返回输出文件路径,失败返回nil

示例用法1:
(xdrx-file-csv->json "data.csv")
; 转换为同目录下的data.json

示例用法2:
(xdrx-file-csv->json "input.csv" "output.json")
; 指定输出文件路径

实现特点:
1. 自动生成默认输出路径
2. 支持自定义输出位置
3. 完善的异常处理
4. 保留原始数据格式
5. 高效转换算法

注意事项:
1. 需要读写权限
2. CSV需符合标准格式
3. 大文件可能内存受限
4. 会覆盖已有输出文件
5. 首行默认为表头
------------------------------------------------------------
14
函数名称: xdrx-file-csv->tsv

描述:
将CSV文件转换为TSV(制表符分隔)格式文件

调用格式:
(xdrx-file-csv->tsv <输入文件> [<输出文件>])

参数说明:
* <输入文件>: 要转换的CSV文件路径
* <输出文件>: 可选参数,指定输出TSV文件路径

返回值:
成功返回输出文件路径,失败返回nil

示例用法1:
(xdrx-file-csv->tsv "data.csv")
; 转换为同目录下的data.tsv

示例用法2:
(xdrx-file-csv->tsv "input.csv" "output.tsv")
; 指定输出文件路径

实现特点:
1. 自动生成默认输出路径(.tsv扩展名)
2. 支持自定义输出位置
3. 完善的异常处理机制
4. 保留原始数据内容
5. 高效转换处理

注意事项:
1. 需要读写权限
2. CSV需符合标准格式
3. 大文件可能内存受限
4. 会覆盖已有输出文件
5. 正确处理引号和转义字符
------------------------------------------------------------
15
函数名称: xdrx-file-csv->xlsx

描述:
将CSV文件转换为Excel格式文件(.xlsx),支持自动检测分隔符和智能路径处理

调用格式:
(xdrx-file-csv->xlsx <输入文件> [<输出文件或目录>])

参数说明:
* <输入文件>: 要转换的CSV文件路径(必须为.csv文件)
* <输出文件或目录>: 可选参数,可以是:
- 具体.xlsx文件路径
- 目录路径(自动生成同名xlsx文件)
- 空(默认生成同目录同名xlsx文件)

返回值:
成功返回输出文件路径,失败返回nil

示例用法1:
(xdrx-file-csv->xlsx "data.csv")
; 转换为同目录下的data.xlsx

示例用法2:
(xdrx-file-csv->xlsx "input.csv" "output/")
; 在output目录生成同名xlsx文件

示例用法3:
(xdrx-file-csv->xlsx "a.csv" "b.xlsx")
; 指定具体输出路径

实现特点:
1. 自动检测CSV分隔符(逗号/制表符等)
2. 智能输出路径处理
3. 自动创建缺失目录
4. 使用rapidcsv和libxl高效转换
5. 完整错误处理和日志记录

注意事项:
1. 需要读写权限
2. 输入必须为有效CSV文件
3. 大文件转换需要较长时间
4. 会覆盖已有输出文件
5. 依赖libxl库处理Excel文件
6. 自动处理中文编码
------------------------------------------------------------
16
函数名称: xdrx-file-csv-print

描述:
打印CSV文件指定列的内容到命令行窗口

调用格式:
(xdrx-file-csv-print <文件路径> [<列索引>])

参数说明:
* <文件路径>: 要读取的CSV文件路径
* <列索引>: 可选参数,要打印的列索引(从1开始),默认为1

返回值:
无返回值,直接输出到命令行窗口

示例用法1:
(xdrx-file-csv-print "data.csv")
; 打印第1列内容

示例用法2:
(xdrx-file-csv-print "data.csv" 3)
; 打印第3列内容

实现特点:
1. 使用rapidcsv高效解析CSV
2. 自动跳过空行和注释行
3. 支持自定义列索引
4. 自动去除空白字符
5. 完善的错误处理

注意事项:
1. 需要文件读取权限
2. 列索引从1开始计数
3. 默认使用逗号作为分隔符
4. 大文件可能输出较慢
5. 不处理表头行(纯数据模式)
------------------------------------------------------------
17
函数名称: xdrx-file-csv-sort

描述:
对CSV文件按指定列进行排序并输出结果

调用格式:
(xdrx-file-csv-sort <输入文件> [<输出文件>] [<列索引>] [<表头行数>])

参数说明:
* <输入文件>: 要排序的CSV文件路径
* <输出文件>: 可选参数,排序结果输出路径,可以是:
- 具体文件路径
- 目录路径(自动生成_sorted.csv文件)
- 空(默认覆盖原文件)
* <列索引>: 可选参数,排序依据的列索引(从1开始),默认为1
* asc|desc: 可选参数,排序方向(升序/降序),默认为asc
* <表头行数>: 可选参数,表头行数(不参与排序),默认为-1(自动检测)

返回值:
成功返回输出文件路径,失败返回nil

示例用法1:
(xdrx-file-csv-sort "data.csv")
; 按第1列升序排序,覆盖原文件

示例用法2:
(xdrx-file-csv-sort "input.csv" "output/" 3 desc 1)
; 按第3列降序排序,保留1行表头,输出到output目录

实现特点:
1. 支持多种输出路径格式
2. 自动处理表头行
3. 高效内存排序算法
4. 自动创建缺失目录
5. 完善的错误处理机制

注意事项:
1. 需要文件读写权限
2. 大文件排序需要足够内存
3. 会覆盖已有输出文件
4. 表头行数需准确指定
5. 使用rapidcsv库处理CSV
------------------------------------------------------------
18
函数名称: xdrx-file-csv-write

描述:
将字符串列表写入CSV文件,支持自定义分隔符和自动路径处理

调用格式:
(xdrx-file-csv-write <文件名> <字符串列表> [<分隔符>])

参数说明:
* <文件名>: 输出CSV文件路径
* <字符串列表>: 要写入的字符串列表(每个元素为一行)
* <分隔符>: 可选参数,字段分隔符(默认为逗号)

返回值:
成功返回输出文件完整路径,失败返回nil

示例用法1:
(xdrx-file-csv-write "output.csv" '("a,b,c" "1,2,3"))
; 写入两行数据到output.csv

示例用法2:
(xdrx-file-csv-write "data.txt" '("name|age" "John|30") "|")
; 使用竖线作为分隔符

实现特点:
1. 自动处理相对/绝对路径
2. 支持任意分隔符
3. 自动添加UTF-8 BOM头
4. 高效内存处理
5. 完善的错误处理

注意事项:
1. 需要文件写入权限
2. 会覆盖已有文件
3. 分隔符需与数据内容匹配
4. 不自动添加表头行
5. 使用rapidcsv库处理写入
------------------------------------------------------------
19
函数名称: xdrx-file-delete

描述:
安全删除指定文件(不删除目录)

调用格式:
(xdrx-file-delete <文件路径>)

参数说明:
* <文件路径>: 要删除的文件路径(支持相对/绝对路径)

返回值:
删除成功返回T,失败返回nil

示例用法1:
(xdrx-file-delete "temp.txt")
; 删除当前目录下的temp.txt文件

示例用法2:
(xdrx-file-delete "C:/backup/old.dat")
; 删除指定路径文件

实现特点:
1. 自动转换为完整路径
2. 静默操作无确认对话框
3. 仅删除文件不处理目录
4. 不显示错误界面
5. 使用Windows文件操作API

注意事项:
1. 需要文件删除权限
2. 不可恢复性删除
3. 不支持通配符
4. 不递归删除
5. 不会删除目录
------------------------------------------------------------
20
函数名称: xdrx-file-dir

描述:
列出目录中的文件,支持多种排序方式

调用格式:
(xdrx-file-dir [<路径模式>] [<排序标志>])

参数说明:
* <路径模式>: 可选参数,文件匹配模式(如"*.txt"),默认为"*.*"
* <排序标志>: 可选参数,控制排序方式:
0-不排序(默认)
1-按文件名升序
2-按文件名降序
3-按修改时间升序
4-按修改时间降序
5-按文件大小升序
6-按文件大小降序

返回值:
返回匹配的文件名列表,无匹配时返回nil

示例用法1:
(xdrx-file-dir)
; 列出当前目录所有文件

示例用法2:
(xdrx-file-dir "*.lsp" 1)
; 列出所有LSP文件并按文件名升序排序

实现特点:
1. 支持通配符匹配
2. 多种排序方式可选
3. 自动处理完整路径
4. 不递归子目录
5. 高效目录遍历

注意事项:
1. 需要目录读取权限
2. 不返回目录项
3. 路径模式区分大小写
4. 排序基于本地文件系统
5. 大目录可能耗时
------------------------------------------------------------
21
函数名称: xdrx-file-directory-p

描述:
判断指定路径是否为目录

调用格式:
(xdrx-file-directory-p <路径>)

参数说明:
* <路径>: 要检查的路径字符串

返回值:
是目录返回T,否则返回nil

示例用法1:
(xdrx-file-directory-p "C:/Windows")
; 检查C:/Windows是否为目录

示例用法2:
(xdrx-file-directory-p "test.txt")
; 检查test.txt是否为目录

实现特点:
1. 自动路径类型检测
2. 高效系统API调用
3. 严格路径验证
4. 简单直接的结果返回

注意事项:
1. 需要路径读取权限
2. 区分文件和目录
3. 不检查路径是否存在
4. 不支持通配符
5. 相对路径会基于当前目录解析
------------------------------------------------------------
22
函数名称: xdrx-file-dos2unix

描述:
将DOS格式文本文件转换为UNIX格式(去除回车符)

调用格式:
(xdrx-file-dos2unix <源文件> <目标文件>)

参数说明:
* <源文件>: DOS格式的输入文件路径
* <目标文件>: UNIX格式的输出文件路径

返回值:
成功返回目标文件路径,失败返回nil

示例用法1:
(xdrx-file-dos2unix "input.txt" "output.txt")
; 转换DOS格式文件为UNIX格式

实现特点:
1. 自动处理完整路径
2. 高效逐字符转换
3. 严格文件权限检查
4. 自动过滤DOS特殊字符
5. 完善的错误处理

注意事项:
1. 需要文件读写权限
2. 会覆盖已有目标文件
3. 仅处理文本文件
4. 不修改源文件
5. 大文件转换可能耗时
------------------------------------------------------------
23
函数名称: xdrx-file-emptyrecycle

描述:
清空系统回收站(无确认对话框)

调用格式:
(xdrx-file-emptyrecycle)

参数说明:
无参数

返回值:
成功返回T,失败返回nil

示例用法:
(xdrx-file-emptyrecycle)
; 清空当前用户的回收站

实现特点:
1. 静默操作无确认提示
2. 不显示进度界面
3. 不播放提示音
4. 使用Windows系统API
5. 仅清空当前用户回收站

注意事项:
1. 需要管理员权限
2. 操作不可撤销
3. 影响所有回收站内容
4. 不返回具体删除信息
5. 可能需要UAC提升
------------------------------------------------------------
24
函数名称: xdrx-file-encrypt

描述:
使用密码加密文件内容(原地加密)

调用格式:
(xdrx-file-encrypt <文件路径> <密码>)

参数说明:
* <文件路径>: 要加密的文件路径
* <密码>: 加密使用的密码字符串

返回值:
成功返回加密后的文件路径,失败返回nil

示例用法:
(xdrx-file-encrypt "secret.txt" "mypassword")
; 使用密码加密文件

实现特点:
1. 原地加密(直接修改原文件)
2. 基于密码的异或加密算法
3. 密码强化处理
4. 支持大文件分段处理
5. 完善的错误检查

注意事项:
1. 需要文件读写权限
2. 会直接修改原文件
3. 密码区分大小写
4. 加密后需妥善保管密码
5. 非高强度加密(适合一般用途)
------------------------------------------------------------
25
函数名称: xdrx-file-info

描述:
获取文件详细信息(名称、大小、修改时间和属性)

调用格式:
(xdrx-file-info <文件路径>)

参数说明:
* <文件路径>: 要查询的文件路径

返回值:
返回包含文件信息的列表,格式为:
(文件名 文件大小(字节) 修改时间 属性标志)
属性标志位说明:
1-只读
2-隐藏
4-系统
8-存档
无匹配文件返回nil

示例用法:
(xdrx-file-info "test.txt")
; 可能返回: ("test.txt" 1024 2459213.75 1)

实现特点:
1. 自动处理完整路径
2. 精确文件属性检测
3. 返回标准化时间格式
4. 高效文件系统查询
5. 详细的属性标志

注意事项:
1. 需要文件读取权限
2. 不处理目录
3. 路径区分大小写
4. 大文件可能返回较大数值
5. 时间格式为AutoCAD Julian日期
------------------------------------------------------------
26
函数名称: xdrx-file-date

描述:
获取文件最后修改时间(支持通配符匹配多个文件)

调用格式:
(xdrx-file-date [文件路径])

参数说明:
* [文件路径]: 可选参数,文件路径或通配符模式(默认"*.*")

返回值:
返回关联列表,格式为:
((文件名1 . 修改时间1) (文件名2 . 修改时间2)...)
时间格式为AutoCAD Julian日期
无匹配文件返回nil

示例用法1:
(xdrx-file-date)
; 获取当前目录所有文件的修改时间

示例用法2:
(xdrx-file-date "*.txt")
; 获取所有txt文件的修改时间

实现特点:
1. 支持通配符模式匹配
2. 自动处理完整路径
3. 返回标准化时间格式
4. 高效文件系统查询
5. 关联列表结果格式

注意事项:
1. 需要目录读取权限
2. 不包含子目录文件
3. 路径区分大小写
4. 大目录可能返回较多数据
5. 时间格式为AutoCAD Julian日期
------------------------------------------------------------
27
函数名称: xdrx-file-infoex

描述:
获取文件扩展信息(包含完整路径、大小、三种时间和扩展属性)

调用格式:
(xdrx-file-infoex <文件路径>)

参数说明:
* <文件路径>: 要查询的文件路径

返回值:
返回包含文件详细信息的列表,格式为:
(根路径 文件名 大小 创建时间 修改时间 访问时间 属性标志)
属性标志位说明:
1-只读
2-隐藏
4-系统
8-存档
16-压缩
32-临时
无匹配文件返回nil

示例用法:
(xdrx-file-infoex "test.txt")
; 可能返回: ("C:\\" "test.txt" 1024 2459213.75 2459214.0 2459213.8 1)

实现特点:
1. 获取三种时间戳(创建/修改/访问)
2. 返回完整根路径
3. 支持更多文件属性
4. 高效文件系统查询
5. 标准化时间格式

注意事项:
1. 需要文件读取权限
2. 不处理目录
3. 路径区分大小写
4. 时间格式为AutoCAD Julian日期
5. 大文件可能返回较大数值
------------------------------------------------------------
28
函数名称: xdrx-file-i**ist

描述:
检查指定路径是否为有效文件

调用格式:
(xdrx-file-i**ist <文件路径>)

参数说明:
* <文件路径>: 要检查的文件路径

返回值:
是有效文件返回T,否则返回nil

示例用法1:
(xdrx-file-i**ist "test.txt")
; 检查test.txt是否存在

示例用法2:
(xdrx-file-i**ist "C:/nonexist.txt")
; 检查不存在的文件

实现特点:
1. 自动处理完整路径
2. 高效文件系统检查
3. 简单布尔结果
4. 严格路径验证
5. 仅检查文件(不包含目录)

注意事项:
1. 需要路径读取权限
2. 区分文件和目录
3. 路径区分大小写
4. 相对路径会基于当前目录解析
5. 不检查文件内容有效性
------------------------------------------------------------
29
函数名称: xdrx-file-size

描述:
获取文件大小(支持通配符匹配多个文件)

调用格式:
(xdrx-file-size [文件路径])

参数说明:
* [文件路径]: 可选参数,文件路径或通配符模式(默认"*.*")

返回值:
返回关联列表,格式为:
((文件名1 . 大小1) (文件名2 . 大小2)...)
大小单位为字节
无匹配文件返回nil

示例用法1:
(xdrx-file-size)
; 获取当前目录所有文件的大小

示例用法2:
(xdrx-file-size "*.txt")
; 获取所有txt文件的大小

实现特点:
1. 支持通配符模式匹配
2. 自动处理完整路径
3. 高效文件系统查询
4. 关联列表结果格式
5. 自动过滤目录

注意事项:
1. 需要目录读取权限
2. 不包含子目录文件
3. 路径区分大小写
4. 大目录可能返回较多数据
5. 大文件可能返回较大数值
------------------------------------------------------------
30
函数名称: xdrx-file-find

描述:
查找文件(支持通配符和递归搜索,可排序)

调用格式:
(xdrx-file-find [文件模式] [排序标志])

参数说明:
* [文件模式]: 可选参数,文件路径或通配符模式(默认"*.*")
* [排序标志]: 可选参数,控制排序方式:
0-不排序(默认)
1-按文件名升序
2-按文件名降序
3-按修改时间升序
4-按修改时间降序
5-按文件大小升序
6-按文件大小降序

返回值:
返回匹配文件的路径列表,无匹配文件返回nil

示例用法1:
(xdrx-file-find)
; 查找当前目录所有文件

示例用法2:
(xdrx-file-find "*.txt" 1)
; 查找所有txt文件并按文件名升序排列

实现特点:
1. 支持递归子目录搜索
2. 多种排序方式可选
3. 自动处理完整路径
4. 高效文件系统查询
5. 灵活的通配符匹配

注意事项:
1. 需要目录读取权限
2. 大范围搜索可能耗时
3. 路径区分大小写
4. 排序标志超出范围时使用默认值
5. 返回绝对路径
------------------------------------------------------------
31
函数名称: xdrx-file-find-font

描述:
查找字体文件(支持自动补全扩展名,搜索多个路径)

调用格式:
(xdrx-file-find-font <字体名称>...)

参数说明:
* <字体名称>: 一个或多个字体文件名(可带或不带扩展名)

返回值:
返回找到的字体文件完整路径列表,未找到返回空字符串

示例用法1:
(xdrx-file-find-font "simsun")
; 查找simsun字体(自动尝试.shx和.ttf扩展名)

示例用法2:
(xdrx-file-find-font "arial.ttf" "times")
; 查找多个字体文件

实现特点:
1. 自动尝试.shx和.ttf扩展名
2. 搜索支持路径和系统字体目录
3. 支持多字体同时查询
4. 返回完整绝对路径
5. 高效文件系统搜索

注意事项:
1. 需要文件读取权限
2. 不区分大小写
3. 未指定扩展名时自动补全
4. 多个输入返回多个结果
5. 找不到时返回空字符串
------------------------------------------------------------
32
函数名称: xdrx-file-find-image

描述:
查找图像文件(支持自动补全常见图像格式扩展名)

调用格式:
(xdrx-file-find-image <图像名称>...)

参数说明:
* <图像名称>: 一个或多个图像文件名(可带或不带扩展名)

返回值:
返回找到的图像文件完整路径列表,未找到返回空字符串

示例用法1:
(xdrx-file-find-image "logo")
; 查找logo图像(自动尝试.bmp/.gif/.jpg/.png/.tif)

示例用法2:
(xdrx-file-find-image "bg.jpg" "icon")
; 查找多个图像文件

实现特点:
1. 自动尝试常见图像格式(.bmp/.gif/.jpg/.png/.tif)
2. 支持多图像同时查询
3. 返回完整绝对路径
4. 高效文件系统搜索
5. 智能扩展名补全

注意事项:
1. 需要文件读取权限
2. 不区分大小写
3. 未指定扩展名时自动补全
4. 多个输入返回多个结果
5. 找不到时返回空字符串
------------------------------------------------------------
33
函数名称: xdrx-file-find-on-path

描述:
在指定路径列表中查找文件

调用格式:
(xdrx-file-find-on-path <文件名> <路径列表>)

参数说明:
* <文件名>: 要查找的目标文件名
* <路径列表>: 分号分隔的路径字符串

返回值:
返回找到的文件完整路径,未找到返回空字符串

示例用法1:
(xdrx-file-find-on-path "test.txt" "C:\\temp;D:\\data")
; 在指定路径中查找test.txt

示例用法2:
(xdrx-file-find-on-path "config.ini" (getenv "PATH"))
; 在系统PATH中查找配置文件

实现特点:
1. 支持多路径搜索
2. 精确文件名匹配
3. 返回第一个匹配结果
4. 高效文件系统查询
5. 路径分隔符自动处理

注意事项:
1. 需要路径读取权限
2. 路径列表以分号分隔
3. 区分大小写
4. 只返回第一个匹配项
5. 需要提供完整文件名(含扩展名)
------------------------------------------------------------
34
函数名称: xdrx-file-get-encoding

描述:
检测文本文件的编码格式(使用uchardet库)

调用格式:
(xdrx-file-get-encoding <文件路径> )

参数说明:
* <文件路径>: 要检测的文件路径
* : 可选参数,返回编码枚举值而非字符串

返回值:
默认返回编码字符串(如"UTF-8"),带T参数返回编码枚举值,非文本文件返回"unknown"

示例用法1:
(xdrx-file-get-encoding "test.txt")
; 返回"UTF-8"等编码字符串

示例用法2:
(xdrx-file-get-encoding "test.txt" T)
; 返回编码对应的整数值

实现特点:
1. 使用uchardet库精确检测
2. 支持大文件分块处理
3. 自动过滤非文本文件
4. 返回标准编码名称
5. 可选枚举值输出

注意事项:
1. 需要文件读取权限
2. 仅适用于文本文件
3. 大文件检测可能较慢
4. 不确定编码返回"unknown"
5. 二进制文件会直接返回"unknown"
------------------------------------------------------------
35
函数名称: xdrx-file-getfiled

描述:
显示文件选择对话框(支持打开/保存模式)

调用格式:
(xdrx-file-getfiled <标题> <初始目录> <文件过滤器> [模式标志])

参数说明:
* <标题>: 对话框标题
* <初始目录>: 初始浏览目录
* <文件过滤器>: 文件类型过滤字符串(如"*.txt|*.lsp")
* [模式标志]: 可选参数,控制对话框模式:
1-打开文件(默认)
2-保存文件(带覆盖提示)
4-保存文件(不带提示)

返回值:
返回用户选择的文件完整路径,取消返回nil

示例用法1:
(xdrx-file-getfiled "选择文件" "C:\\" "文本文件(*.txt)|*.txt|Lisp文件(*.lsp)|*.lsp")
; 打开文件选择对话框

示例用法2:
(xdrx-file-getfiled "保存文件" "D:\\" "Lisp文件(*.lsp)|*.lsp" 2)
; 显示保存文件对话框

实现特点:
1. 支持多种文件操作模式
2. 自定义对话框标题
3. 灵活的过滤器设置
4. 路径有效性检查
5. 完整的错误处理

注意事项:
1. 需要GUI环境支持
2. 路径必须存在
3. 过滤器格式必须正确
4. 取消操作返回nil
5. 返回绝对路径
------------------------------------------------------------
36
函数名称: xdrx-file-getfilem

描述:
显示多文件选择对话框(支持排序和批量选择)

调用格式:
(xdrx-file-getfilem <标题> <初始目录> <文件过滤器>)

参数说明:
* <标题>: 对话框标题
* <初始目录>: 初始浏览目录
* <文件过滤器>: 文件类型过滤字符串(如"*.txt|*.lsp")

返回值:
返回包含所选文件路径的列表(首元素为目录路径),取消返回nil

示例用法:
(xdrx-file-getfilem "选择多个文件" "C:\\" "文本文件(*.txt)|*.txt|Lisp文件(*.lsp)|*.lsp")
; 返回格式: ("C:\\路径" "文件1.txt" "文件2.lsp" ...)

实现特点:
1. 支持多文件选择
2. 自动排序文件名
3. 首元素返回公共目录路径
4. 完整的路径验证
5. 优化的文件列表处理

注意事项:
1. 需要GUI环境支持
2. 路径必须存在
3. 过滤器格式必须正确
4. 取消操作返回nil
5. 返回绝对路径
------------------------------------------------------------
37
函数名称: xdrx-file-getfilenav

描述:
显示增强型文件导航对话框(支持多种返回格式)

调用格式:
(xdrx-file-getfilenav <标题> <默认路径> <扩展名> <标志位>)

参数说明:
* <标题>: 对话框标题
* <默认路径>: 初始路径
* <扩展名>: 默认文件扩展名
* <标志位>: 控制对话框行为的位标志:
256 - 路径末尾添加反斜杠
2048 - 返回目录路径(带反斜杠)
4096 - 返回多文件列表(首元素为路径)

返回值:
根据标志位返回不同格式:
- 默认:单个文件路径
- 2048:目录路径
- 4096:多文件列表(首元素为公共路径)
取消返回nil

示例用法1:
(xdrx-file-getfilenav "选择文件" "C:\\" "txt" 0)
; 返回单个文件路径

示例用法2:
(xdrx-file-getfilenav "选择目录" "D:\\" "" 2048)
; 返回目录路径(带反斜杠)

实现特点:
1. 灵活的返回格式控制
2. 智能路径处理
3. 支持多文件选择
4. 完整的错误处理
5. 优化的内存管理

注意事项:
1. 需要GUI环境支持
2. 路径必须有效
3. 标志位组合需合理
4. 取消操作返回nil
5. 扩展名不带点
------------------------------------------------------------
38
函数名称: xdrx-file-version

描述:
获取文件的详细版本信息(包括版本号和元数据)

调用格式:
(xdrx-file-version <文件路径>)

参数说明:
* <文件路径>: 目标文件路径

返回值:
返回包含版本信息的列表,结构为:
(
(文件主版本 文件次版本 文件修订号 文件构建号)
(产品主版本 产品次版本 产品修订号 产品构建号)
注释信息
公司名称
文件描述
文件版本字符串
内部名称
版权信息
商标信息
原始文件名
私有构建信息
产品名称
产品版本字符串
特殊构建信息
)
文件无版本信息时返回nil

示例用法:
(xdrx-file-version "C:\\Program.exe")
; 返回完整版本信息列表

实现特点:
1. 完整版本号解析
2. 丰富的文件元数据
3. 自动路径规范化
4. 结构化返回数据
5. 完善的错误处理

注意事项:
1. 仅适用于有版本资源的文件
2. 需要文件读取权限
3. 返回nil表示无版本信息
4. 路径区分大小写
5. 支持绝对/相对路径
------------------------------------------------------------
39
函数名称: xdrx-file-ini->json

描述:
将INI配置文件转换为JSON格式并保存

调用格式:
(xdrx-file-ini->json <INI文件路径>)

参数说明:
* <INI文件路径>: 要转换的INI文件路径

返回值:
返回转换后的JSON文件路径,转换失败返回nil

示例用法:
(xdrx-file-ini->json "config.ini")
; 生成同目录下的config.json文件

实现特点:
1. 完整保留INI文件结构
2. 自动处理编码转换
3. 保留原文件注释和格式
4. 生成标准JSON格式
5. 输出文件与输入文件同目录

注意事项:
1. 需要文件读写权限
2. INI文件需符合标准格式
3. 返回nil表示转换失败
4. 输出文件自动覆盖
5. 支持中文路径
------------------------------------------------------------
40
函数名称: xdrx-file-ini->xlsx

描述:
将INI配置文件转换为Excel XLSX格式

调用格式:
(xdrx-file-ini->xlsx <INI文件路径> [输出XLSX路径])

参数说明:
* <INI文件路径>: 要转换的INI文件路径
* [输出XLSX路径]: 可选参数,指定输出文件路径

返回值:
返回生成的XLSX文件路径,转换失败返回nil

示例用法1:
(xdrx-file-ini->xlsx "config.ini")
; 生成同目录下的config.xlsx

示例用法2:
(xdrx-file-ini->xlsx "config.ini" "D:\\output.xlsx")
; 指定输出路径

实现特点:
1. 自动合并相同节(section)的单元格
2. 保留INI文件完整结构
3. 自动处理文件扩展名
4. 支持相对/绝对路径
5. 智能默认输出路径

注意事项:
1. 需要文件读写权限
2. INI文件需符合标准格式
3. 输出文件自动覆盖
4. 依赖libxl库
5. 返回nil表示转换失败
------------------------------------------------------------
41
函数名称: xdrx-file-ini-get

描述:
读取INI配置文件内容(支持多种查询模式)

调用格式:
(xdrx-file-ini-get <INI文件路径> [节名] [键名] )

参数说明:
* <INI文件路径>: 目标INI文件路径
* [节名]: 可选参数,指定节名
* [键名]: 可选参数,指定键名
* : 可选参数,返回完整结构化数据

返回值:
根据参数返回不同格式:
- 单参数+T: 返回完整结构((节名 (键值对列表)...))
- 双参数: 返回指定节的所有键值
- 三参数: 返回指定键的值
- 无匹配返回nil

示例用法1:
(xdrx-file-ini-get "config.ini" T)
; 返回完整INI结构

示例用法2:
(xdrx-file-ini-get "config.ini" "Section1")
; 返回Section1下所有键值

实现特点:
1. 灵活的多模式查询
2. 完整结构保留注释
3. 智能参数处理
4. 高效文件读取
5. 结构化返回数据

注意事项:
1. 需要文件读取权限
2. INI文件需符合标准格式
3. 键名/节名区分大小写
4. 返回nil表示无匹配
5. T参数必须单独使用
------------------------------------------------------------
42
函数名称: xdrx-file-ini-set

描述:
写入INI配置文件内容(支持多种写入模式)

调用格式:
(xdrx-file-ini-set <INI文件路径> <节名> [键名] [值])

参数说明:
* <INI文件路径>: 目标INI文件路径
* <节名>: 要写入的节名
* [键名]: 可选参数,指定键名
* [值]: 可选参数,指定键值

返回值:
成功返回T,失败返回nil

示例用法1:
(xdrx-file-ini-set "config.ini" "Section1" "Key1" "Value1")
; 写入键值对

示例用法2:
(xdrx-file-ini-set "config.ini" "NewSection")
; 创建新节

实现特点:
1. 自动创建不存在的节/键
2. 保留原有文件格式
3. 支持增量更新
4. 自动处理文件编码
5. 原子写入操作

注意事项:
1. 需要文件读写权限
2. 文件不存在时自动创建
3. 键名/节名区分大小写
4. 值中含空格需加引号
5. 特殊字符自动转义
------------------------------------------------------------
43
函数名称: xdrx-file-is64dll

描述:
检测DLL文件是否为64位版本

调用格式:
(xdrx-file-is64dll <DLL文件路径>)

参数说明:
* <DLL文件路径>: 目标DLL文件路径

返回值:
64位DLL返回T,32位或无效文件返回nil

示例用法:
(xdrx-file-is64dll "test.dll")
; 检测是否为64位DLL

实现特点:
1. 精确识别PE文件头
2. 快速检测不加载文件
3. 支持中文路径
4. 自动处理路径格式
5. 低资源占用

注意事项:
1. 需要文件读取权限
2. 仅支持标准PE格式
3. 非DLL文件返回nil
4. 路径区分大小写
5. 需要管理员权限访问系统目录
------------------------------------------------------------
44
函数名称: xdrx-file-i**cel

描述:
检测文件是否为有效的Excel文件

调用格式:
(xdrx-file-i**cel <文件路径>)

参数说明:
* <文件路径>: 目标文件路径

返回值:
有效Excel文件返回T,否则返回nil

示例用法:
(xdrx-file-i**cel "data.xlsx")
; 检测是否为有效Excel文件

实现特点:
1. 支持所有Excel格式(xls/xlsx/xlsm)
2. 通过文件头精确验证
3. 不实际加载文件内容
4. 支持中文路径
5. 快速检测

注意事项:
1. 需要文件读取权限
2. 仅验证文件格式不验证内容
3. 路径区分大小写
4. 网络路径可能延迟
5. 加密文件返回nil
------------------------------------------------------------
45
函数名称: xdrx-file-xlsx->csv

描述:
将Excel(XLSX/XLS)文件转换为CSV格式,支持多工作表和自定义分隔符

调用格式:
(xdrx-file-xlsx->csv <Excel文件路径> [分隔符] [工作表索引])

参数说明:
* <Excel文件路径>: 输入的Excel文件路径(支持.xlsx和.xls)(必须)
* : 可选输出路径(文件或目录)
* [分隔符]: 可选字段分隔符(默认逗号)
* [工作表索引]: 可选工作表序号(从0开始,-1表示全部工作表)

返回值:
- 列表: 成功生成的CSV文件路径列表(按工作表顺序)
- 空列表: 转换失败

示例用法1:
(xdrx-file-xlsx->csv "data.xlsx")
; 转换第一个工作表到同目录data(0).csv

示例用法2:
(xdrx-file-xlsx->csv "report.xls" "output/" "|" -1)
; 转换所有工作表到output目录,使用竖线分隔符

实现特点:
1. 支持XLSX和XLS格式
2. 自动添加UTF-8 BOM头
3. 智能输出路径生成
4. 多工作表批量处理
5. 完善的错误日志

注意事项:
1. 需要libxl库支持
2. 大文件可能内存不足
3. 公式计算结果会被保留
4. 日期格式会转换为文本
5. 空单元格输出为空字符串
------------------------------------------------------------
46
函数名称: xdrx-file-isfilename

描述:
严格验证Windows文件名合法性(包含完整保留名称检查)

调用格式:
(xdrx-file-isfilename <文件名>)

参数说明:
* <文件名>: 待验证的文件名字符串

返回值:
合法返回T,非法返回nil及错误字符

实现细节:
1. 长度检查(最大255字符)
2. 非法字符检查:
   - 控制字符(ASCII<32)
   - 特殊字符: \/:*?"<>|
3. 保留名称检查:
   - 设备名: CON, PRN, AUX, NUL
   - COM1-9, LPT1-9
   - CLOCK$
4. 点号规则:
   - 不能全为点
   - 不能以点开头
5. 大小写不敏感

示例用法:
(xdrx-file-isfilename "test.txt") ; 返回T
(xdrx-file-isfilename "CON")      ; 返回nil

错误代码:
- 空名: ISVALID_FILENAME_ERROR
- 保留名: INVALID_FILENAME_XXX
- 非法字符: 返回字符本身

注意事项:
1. 不验证路径合法性
2. 不检查文件系统保留名
3. 严格遵循Win32 API规则
4. 返回nil时可获取具体错误
------------------------------------------------------------
47
函数名称: xdrx-file-json->csv

描述:
将JSON文件转换为CSV格式,支持自定义分隔符和输出路径

调用格式:
(xdrx-file-json->csv <json文件> [分隔符])

参数说明:
* <json文件>: 输入的JSON文件路径(必须)
* : 输出的CSV文件路径(可选)
- 不指定: 自动生成同名csv文件
- 指定目录: 在目录下生成同名csv文件
- 指定文件: 直接使用该路径
* [分隔符]: CSV分隔符(默认逗号)

返回值:
成功返回CSV文件路径,失败返回nil

示例用法1:
(xdrx-file-json->csv "data.json")
; 生成data.csv

示例用法2:
(xdrx-file-json->csv "data.json" "output.csv" ";")
; 使用分号分隔符

实现特点:
1. 自动处理中文字符路径
2. 智能输出路径生成
3. 支持多种分隔符
4. 自动创建目标目录
5. 完整的错误处理

注意事项:
1. JSON需为数组格式
2. 第一元素决定表头
3. 空值转为空字符串
4. 大文件需足够内存
5. 线程安全
------------------------------------------------------------
48
函数名称: xdrx-file-json-format

描述:
专业格式化JSON文件,支持智能路径处理和严格语法验证

调用格式:
(xdrx-file-json-format <输入文件> [输出文件] [缩进层级] )

参数说明:
* <输入文件>: 要处理的JSON文件路径(必须)
* [输出文件]: 输出路径(可选)
- 不指定: 原地处理
- 指定目录: 保持原名保存到目录
- 指定文件: 保存到指定路径
* [缩进层级]: 缩进空格数(1-10,默认4)
* : 压缩模式(无缩进)

返回值:
成功返回输出路径,失败返回nil

示例用法1:
(xdrx-file-json-format "test.json")
; 4空格缩进格式化

示例用法2:
(xdrx-file-json-format "a.json" "b.json" 2)
; 2空格缩进输出到b.json

示例用法3:
(xdrx-file-json-format "a.json" T)
; 压缩为单行

实现细节:
1. 自动处理中文字符路径
2. 严格JSON语法验证
3. 智能输出路径生成
4. 支持大文件处理
5. 完整的错误日志

注意事项:
1. 必须是标准JSON格式
2. 需要读写权限
3. 压缩模式忽略缩进参数
4. 支持批量文件处理
5. 调试模式输出详细日志
------------------------------------------------------------
49
函数名称: xdrx-file-md5hash

描述:
计算文件的MD5哈希值,支持大文件处理和完整校验

调用格式:
(xdrx-file-md5hash <文件路径>)

参数说明:
* <文件路径>: 要计算哈希的文件路径(必须)

返回值:
成功返回32位MD5哈希字符串,失败返回nil

示例用法1:
(xdrx-file-md5hash "test.txt")
; 返回类似"d41d8cd98f00b204e9800998ecf8427e"

实现细节:
1. 基于标准MD5算法实现
2. 支持大文件分块处理
3. 自动处理文件路径查找
4. 完整文件校验机制
5. 返回小写十六进制字符串

注意事项:
1. 需要文件读取权限
2. 空文件返回固定哈希值
3. 文件不存在返回nil
4. 线程安全处理
5. 严格遵循RFC1321标准
------------------------------------------------------------
50
函数名称: xdrx-file-writetextfile

描述:
将文本内容写入文件,支持多种编码格式和追加模式

调用格式:
(xdrx-file-writetextfile <文件路径> <文本列表> [追加模式] [编码格式])

参数说明:
* <文件路径>: 目标文件路径(必须)
* <文本列表>: 要写入的文本行列表(必须)
* [追加模式]: 可选布尔值,true表示追加(默认false)
* [编码格式]: 可选编码格式(0=ANSI,1=UTF-8,2=UTF-16)

返回值:
- 整数: 成功写入的行数
- nil: 写入失败

示例用法1:
(xdrx-file-writetextfile "log.txt" '("line1" "line2"))
; 创建新文件写入两行文本

示例用法2:
(xdrx-file-writetextfile "log.txt" '("line3") true 1)
; 以UTF-8编码追加一行文本

实现特点:
1. 支持多种文本编码
2. 自动处理换行符
3. 智能文件存在检查
4. 精确的行数统计
5. 完善的错误处理

注意事项:
1. 需要文件写入权限
2. 自动删除输入文本中的换行符
3. 追加模式会自动创建不存在的文件
4. 网络路径可能受限
5. 大文件建议分批写入
------------------------------------------------------------
51
函数名称: xdrx-file-mergefiles

描述:
高效合并多个二进制/文本文件,支持大文件分块处理

调用格式:
(xdrx-file-mergefiles <文件列表> [输出文件])

参数说明:
* <文件列表>: 要合并的文件路径列表(必须)
* [输出文件]: 目标文件路径(可选)
- 不指定: 使用第一个文件作为输出并追加后续文件
- 指定路径: 创建新文件合并所有内容

返回值:
成功返回输出文件路径,失败返回nil

示例用法1:
(xdrx-file-mergefiles '("a.dat" "b.dat" "c.dat"))
; 合并到a.dat

示例用法2:
(xdrx-file-mergefiles '("a.log" "b.log") "combined.log")
; 创建新合并文件

技术细节:
1. 采用64KB分块读写优化内存使用
2. 自动处理已存在输出文件(追加模式)
3. 严格的二进制模式处理
4. 完整的异常捕获机制
5. 资源自动释放保障

注意事项:
1. 需要所有文件的读取权限
2. 输出文件需要写入权限
3. 空输入列表立即返回nil
4. 合并后保留原始文件
5. 支持GB级大文件合并
------------------------------------------------------------
52
函数名称: xdrx-file-modify-timestamp

描述:
修改文件或目录的时间戳,支持递归处理目录和自定义时间

调用格式:
(xdrx-file-modify-timestamp <目标路径> [时间字符串])

参数说明:
* <目标路径>: 文件或目录路径(必须)
* [时间字符串]: 时间格式字符串(可选)
- 不指定: 使用当前时间
- 指定: 格式为"YYYY-MM-DD HH:MM:SS"

返回值:
成功返回T,失败返回nil

示例用法1:
(xdrx-file-modify-timestamp "test.txt")
; 使用当前时间修改文件时间戳

示例用法2:
(xdrx-file-modify-timestamp "docs" "2025-01-01 00:00:00")
; 递归修改目录下所有文件时间为2025年元旦

实现细节:
1. 支持文件和目录递归处理
2. 精确到秒的时间控制
3. 自动路径有效性验证
4. 完整的错误处理机制
5. 支持中文字符路径

注意事项:
1. 需要文件系统写权限
2. 无效路径返回nil
3. 时间格式错误使用当前时间
4. 大目录处理可能需要时间
5. 仅修改最后写入时间
------------------------------------------------------------
53
函数名称: xdrx-file-move

描述:
高效移动文件或目录,支持完整路径处理和自动重命名

调用格式:
(xdrx-file-move <源路径> <目标路径>)

参数说明:
* <源路径>: 要移动的文件/目录路径(必须)
* <目标路径>: 目标位置路径(必须)

返回值:
成功返回新文件路径,失败返回nil

示例用法1:
(xdrx-file-move "C:/temp/file.txt" "D:/backup/")
; 移动文件到D盘备份目录

示例用法2:
(xdrx-file-move "oldname.txt" "newname.txt")
; 文件重命名操作

实现特点:
1. 自动处理完整路径转换
2. 静默模式无确认对话框
3. 精确的错误控制
4. 自动处理路径分隔符
5. 返回最终文件位置

注意事项:
1. 需要源文件读取权限
2. 需要目标位置写入权限
3. 不支持通配符
4. 跨分区移动可能较慢
5. 保留原文件属性
------------------------------------------------------------
54
函数名称: xdrx-file-open-p

描述:
检查文件是否被其他进程独占打开,用于文件锁定状态检测

调用格式:
(xdrx-file-open-p <文件路径>)

参数说明:
* <文件路径>: 要检查的文件路径(必须)

返回值:
- T: 文件被其他进程独占打开
- nil: 文件未被独占打开或不存在

示例用法1:
(xdrx-file-open-p "important.lock")
; 返回T表示文件被锁定

示例用法2:
(xdrx-file-open-p "temp.txt")
; 返回nil表示文件可用

实现原理:
1. 尝试以独占模式打开文件
2. 检测共享冲突错误码
3. 自动处理完整路径
4. 精确的错误区分
5. 资源安全释放

注意事项:
1. 需要文件读取权限
2. 不检查读取权限问题
3. 仅检测独占锁定状态
4. 不适用于目录检查
5. 返回nil可能表示文件不存在
------------------------------------------------------------
55
函数名称: xdrx-file-owner

描述:
获取文件所有者信息,支持Windows系统文件权限查询

调用格式:
(xdrx-file-owner <文件路径>)

参数说明:
* <文件路径>: 要查询的文件路径(必须)

返回值:
- 字符串: 文件所有者名称
- nil: 查询失败或文件不存在

示例用法1:
(xdrx-file-owner "C:/重要文件.txt")
; 返回"DOMAIN\username"格式的所有者信息

示例用法2:
(xdrx-file-owner "temp.dat")
; 返回nil表示查询失败

实现特点:
1. 使用Windows安全API查询
2. 自动处理完整路径
3. 返回标准域\用户格式
4. 缓冲区安全处理
5. 精确的错误返回

注意事项:
1. 需要文件读取权限
2. 仅支持NTFS文件系统
3. 网络文件可能受限
4. 不适用于目录查询
5. 管理员权限可获得更完整信息
------------------------------------------------------------
56
函数名称: xdrx-file-readdelim

描述:
读取分隔符分隔的文本文件,支持自动类型识别和灵活配置

调用格式:
(xdrx-file-readdelim <文件路径> [分隔符] [跳过空行] [修剪空格])

参数说明:
* <文件路径>: 要读取的文件路径(必须)
* [分隔符]: 字段分隔符,默认为逗号(可选)
* [跳过空行]: 是否跳过空行,默认为nil(可选)
* [修剪空格]: 是否修剪字段空格,默认为nil(可选)

返回值:
返回二维列表结构,每行作为子列表,自动识别数字类型

示例用法1:
(xdrx-file-readdelim "data.csv")
; 读取CSV文件,默认逗号分隔

示例用法2:
(xdrx-file-readdelim "data.txt" "\t" T T)
; 读取制表符分隔文件,跳过空行并修剪空格

实现特点:
1. 支持Unicode文本文件
2. 自动识别整数和浮点数
3. 智能内存管理
4. 保留原始数据结构
5. 灵活的空格处理

注意事项:
1. 需要文件读取权限
2. 大文件可能消耗较多内存
3. 不支持多字符分隔符
4. 空字段返回false
5. 行尾换行符自动处理
------------------------------------------------------------
57
函数名称: xdrx-file-readtextfile

描述:
高效读取文本文件内容,支持灵活的行处理选项

调用格式:
(xdrx-file-readtextfile <文件路径> [跳过空行] [修剪空格])

参数说明:
* <文件路径>: 要读取的文本文件路径(必须)
* [跳过空行]: 是否跳过空行,默认为nil(可选)
* [修剪空格]: 是否修剪行首尾空格,默认为nil(可选)

返回值:
返回文件内容列表,每行作为列表项,空行返回false

示例用法1:
(xdrx-file-readtextfile "notes.txt")
; 读取文件所有行,保留空行和空格

示例用法2:
(xdrx-file-readtextfile "data.txt" T T)
; 读取文件并跳过空行,同时修剪每行空格

实现特点:
1. 支持Unicode文本文件
2. 自动处理不同换行格式
3. 内存高效的行处理
4. 保留原始行结构
5. 灵活的空格控制

注意事项:
1. 需要文件读取权限
2. 大文件可能消耗较多内存
3. 空行返回false值
4. 不进行自动类型转换
5. 保证行顺序与文件一致
------------------------------------------------------------
58
函数名称: xdrx-file-recent

描述:
管理系统最近文档列表,支持添加文件到Windows最近使用记录

调用格式:
(xdrx-file-recent [文件路径])

参数说明:
* [文件路径]: 要添加到最近文档列表的文件路径(可选)
- 不指定: 清除当前最近文档列表
- 指定: 添加该文件到最近文档列表

返回值:
- T: 添加成功
- nil: 清除操作或添加失败

示例用法1:
(xdrx-file-recent "project.dwg")
; 添加文件到最近文档列表

示例用法2:
(xdrx-file-recent)
; 清除最近文档列表

实现特点:
1. 使用Windows Shell API
2. 支持路径自动处理
3. 无参数调用清空列表
4. 线程安全操作
5. 即时生效

注意事项:
1. 需要系统权限
2. 仅影响Windows最近文档
3. 不验证文件存在性
4. 对网络路径可能无效
5. 不影响程序内部最近文件列表
------------------------------------------------------------
59
函数名称: xdrx-file-recycle

描述:
将文件安全移动到回收站,支持Windows回收站功能

调用格式:
(xdrx-file-recycle <文件路径>)

参数说明:
* <文件路径>: 要移动到回收站的文件路径(必须)

返回值:
- T: 操作成功
- nil: 操作失败

示例用法1:
(xdrx-file-recycle "temp.bak")
; 将文件移动到回收站

示例用法2:
(xdrx-file-recycle "old_project/")
; 将目录移动到回收站

实现特点:
1. 使用Windows文件操作API
2. 静默模式无确认对话框
3. 支持回收站恢复
4. 自动处理完整路径
5. 线程安全操作

注意事项:
1. 需要文件删除权限
2. 不适用于网络路径
3. 大文件可能直接删除
4. 系统回收站设置可能影响行为
5. 不返回详细错误信息
------------------------------------------------------------
60
函数名称: xdrx-file-relativepath

描述:
计算文件或目录的相对路径,支持跨平台路径格式转换

调用格式:
(xdrx-file-relativepath <基准路径> <目标路径>)

参数说明:
* <基准路径>: 作为参考基准的目录路径(必须)
* <目标路径>: 要转换为相对路径的绝对路径(必须)

返回值:
- 字符串: 成功返回相对路径
- nil: 路径在不同驱动器或转换失败

示例用法1:
(xdrx-file-relativepath "C:/projects" "C:/projects/src/main.cpp")
; 返回"src\main.cpp"

示例用法2:
(xdrx-file-relativepath "D:/docs" "E:/files/test.txt")
; 返回nil(不同驱动器)

实现特点:
1. 使用Windows路径处理API
2. 自动处理路径分隔符
3. 支持长路径和UNC路径
4. 智能路径规范化
5. 完备的错误处理

注意事项:
1. 路径必须在同一驱动器
2. 需要路径读取权限
3. 不验证路径存在性
4. 结果使用系统路径分隔符
5. 基准路径应为目录
------------------------------------------------------------
61
函数名称: xdrx-file-rename

描述:
高效重命名文件或目录,支持完整路径处理

调用格式:
(xdrx-file-rename <原路径> <新路径>)

参数说明:
* <原路径>: 要重命名的文件/目录路径(必须)
* <新路径>: 新的文件/目录路径(必须)

返回值:
- 字符串: 成功返回新路径
- nil: 操作失败

示例用法1:
(xdrx-file-rename "old.txt" "new.txt")
; 文件重命名

示例用法2:
(xdrx-file-rename "C:/temp" "C:/backup")
; 目录重命名

实现特点:
1. 使用Windows文件操作API
2. 静默模式无确认对话框
3. 自动处理完整路径
4. 支持跨目录移动式重命名
5. 精确的错误控制

注意事项:
1. 需要原文件读写权限
2. 需要目标位置写入权限
3. 不支持通配符
4. 网络路径可能受限
5. 新路径必须不存在
------------------------------------------------------------
62
函数名称: xdrx-file-search

描述:
在系统路径或指定目录中搜索文件,支持Windows环境变量

调用格式:
(xdrx-file-search <文件名> [搜索路径])

参数说明:
* <文件名>: 要搜索的文件名(必须)
* [搜索路径]: 搜索目录路径(可选)
- 不指定: 在系统PATH环境变量中搜索
- 指定: 在指定目录中搜索

返回值:
- 字符串: 找到的文件完整路径
- nil: 文件未找到

示例用法1:
(xdrx-file-search "notepad.exe")
; 在系统路径中搜索记事本

示例用法2:
(xdrx-file-search "config.ini" "C:/myapp")
; 在指定目录中搜索配置文件

实现特点:
1. 使用Windows SearchPath API
2. 支持环境变量扩展
3. 自动路径规范化
4. 高效文件查找
5. 精确的错误返回

注意事项:
1. 仅搜索可执行文件和普通文件
2. 不递归搜索子目录
3. 文件名区分大小写
4. 网络路径可能受限
5. 返回第一个匹配项
------------------------------------------------------------
63
函数名称: xdrx-file-size

描述:
获取文件大小(字节数),支持跨平台文件系统

调用格式:
(xdrx-file-size <文件路径>)

参数说明:
* <文件路径>: 要检查的文件路径(必须)

返回值:
- 整数: 文件大小(字节)
- -1: 文件不存在或无法访问

示例用法1:
(xdrx-file-size "data.txt")
; 返回文件字节数

示例用法2:
(xdrx-file-size "nonexistent.file")
; 返回-1(文件不存在)

实现特点:
1. 使用标准文件系统API
2. 精确到字节的统计
3. 支持大文件(<2GB)
4. 快速文件状态检查
5. 跨平台兼容

注意事项:
1. 需要文件读取权限
2. 不适用于目录
3. 符号链接返回目标文件大小
4. 网络路径可能受限
5. 返回值为long类型
------------------------------------------------------------
64
函数名称: xdrx-file-systime-compare

描述:
比较两个文件的最后修改时间,返回时间先后关系

调用格式:
(xdrx-file-systime-compare <文件路径1> <文件路径2>)

参数说明:
* <文件路径1>: 第一个文件路径(必须)
* <文件路径2>: 第二个文件路径(必须)

返回值:
- 1: 文件1比文件2新
- 0: 修改时间相同
- -1: 文件1比文件2旧
- -2: 文件不存在或无法访问

示例用法1:
(xdrx-file-systime-compare "new.txt" "old.txt")
; 返回1(第一个文件更新)

示例用法2:
(xdrx-file-systime-compare "a.txt" "b.txt")
; 返回0(修改时间相同)

实现特点:
1. 使用Windows文件时间API
2. 精确到系统时间精度
3. 原子性时间比较
4. 自动处理文件句柄
5. 完善的错误处理

注意事项:
1. 需要文件读取权限
2. 比较的是最后修改时间
3. 不比较创建时间/访问时间
4. 网络路径可能受限
5. 符号链接比较目标文件时间
------------------------------------------------------------
65
函数名称: xdrx-file-systime

描述:
获取文件的最后修改时间(本地时区),返回详细时间分量

调用格式:
(xdrx-file-systime <文件路径>)

参数说明:
* <文件路径>: 要检查的文件路径(必须)

返回值:
- 列表: 成功返回7个整数组成的列表 (年 月 星期 日 时 分 秒)
- nil: 文件不存在或无法访问

示例用法1:
(xdrx-file-systime "data.txt")
; 返回(2023 12 2 15 14 30 45) 表示2023年12月15日周五14:30:45

示例用法2:
(xdrx-file-systime "nonexistent.file")
; 返回nil(文件不存在)

实现特点:
1. 使用Windows文件时间API
2. 自动转换为本地时区
3. 返回完整时间分量
4. 精确到秒级
5. 自动处理文件句柄

注意事项:
1. 需要文件读取权限
2. 星期从0开始(0=周日)
3. 月份从1开始(1=一月)
4. 网络路径可能受限
5. 符号链接返回目标文件时间
------------------------------------------------------------
66
函数名称: xdrx-file-tempfile

描述:
在系统临时目录创建唯一的临时文件,返回文件路径

调用格式:
(xdrx-file-tempfile)

参数说明:
无参数

返回值:
- 字符串: 成功返回临时文件路径
- nil: 创建失败

示例用法1:
(xdrx-file-tempfile)
; 返回"C:\Users\user\AppData\Local\Temp\~ac1234.tmp"

实现特点:
1. 使用Windows临时文件API
2. 自动处理长路径
3. 保证文件名唯一性
4. 文件前缀为"~ac"
5. 自动选择系统临时目录

注意事项:
1. 仅创建路径不创建实际文件
2. 需要临时目录写入权限
3. 不自动清理临时文件
4. 在多用户系统上路径可能不同
5. 文件名包含随机数防止冲突
------------------------------------------------------------
67
函数名称: xdrx-file-touch

描述:
修改文件时间戳,支持批量操作和自定义时间设置

调用格式:
(xdrx-file-touch <文件路径> [日期列表] [时间列表])

参数说明:
* <文件路径>: 目标文件路径(支持通配符)(必须)
* [日期列表]: 可选日期列表(年 月 日)
* [时间列表]: 可选时间列表(时 分 [秒 [毫秒]])

返回值:
- 列表: 成功修改的文件名列表
- nil: 操作失败

示例用法1:
(xdrx-file-touch "*.txt")
; 使用当前系统时间更新所有txt文件

示例用法2:
(xdrx-file-touch "data.dat" '(2023 12 15) '(14 30))
; 设置文件时间为2023年12月15日14:30:00

实现特点:
1. 使用Windows文件时间API
2. 支持通配符批量操作
3. 自动处理本地时区转换
4. 可精确到毫秒级
5. 同时更新三个时间戳(创建/修改/访问)

注意事项:
1. 需要文件读写权限
2. 不修改目录时间戳
3. 日期格式为(年 月 日)
4. 时间格式为(时 分 [秒 [毫秒]])
5. 网络路径可能受限
------------------------------------------------------------
68
函数名称: xdrx-file-tsv->csv

描述:
将TSV文件转换为CSV格式,支持自定义输出路径和分隔符

调用格式:
(xdrx-file-tsv->csv <TSV文件路径> )

参数说明:
* <TSV文件路径>: 输入的TSV文件路径(必须)
* : 可选输出路径(文件或目录)

返回值:
- 字符串: 成功返回生成的CSV文件路径
- nil: 转换失败

示例用法1:
(xdrx-file-tsv->csv "data.tsv")
; 默认生成同目录下的data.csv

示例用法2:
(xdrx-file-tsv->csv "input.tsv" "output.csv")
; 指定输出文件路径

实现特点:
1. 自动处理中文路径
2. 智能输出路径生成
3. 自动处理字段中的特殊字符
4. 支持大文件流式处理
5. 完善的错误处理

注意事项:
1. TSV文件必须存在
2. 输出目录需要写入权限
3. 自动创建不存在的目录
4. 字段中的引号会被转义
5. 空字段会保留
------------------------------------------------------------
69
函数名称: xdrx-file-unix2dos

描述:
将UNIX格式文本文件转换为DOS格式(换行符转换)

调用格式:
(xdrx-file-unix2dos <UNIX文件路径> <DOS文件路径>)

参数说明:
* <UNIX文件路径>: 源文件路径(UNIX格式)(必须)
* <DOS文件路径>: 目标文件路径(DOS格式)(必须)

返回值:
- 字符串: 成功返回目标文件路径
- nil: 转换失败

示例用法1:
(xdrx-file-unix2dos "unix.txt" "dos.txt")
; 将unix.txt转换为dos.txt

实现特点:
1. 精确处理换行符转换
2. 支持大文件流式处理
3. 自动处理完整路径
4. 严格的错误检查
5. 保留原始文件内容

注意事项:
1. 源文件必须存在
2. 目标目录需要写入权限
3. 仅转换文本文件
4. 不修改文件内容(仅换行符)
5. 二进制文件可能损坏
------------------------------------------------------------
70
函数名称: xdrx-file-using-p

描述:
检查文件是否被其他进程占用并返回占用进程信息

调用格式:
(xdrx-file-using-p <文件路径>)

参数说明:
* <文件路径>: 要检查的文件路径(必须)

返回值:
- 列表: 返回占用进程的PID和名称列表
- nil: 文件未被占用或检查失败

示例用法1:
(xdrx-file-using-p "data.txt")
; 可能返回(("1234" "notepad.exe") ("5678" "explorer.exe"))

示例用法2:
(xdrx-file-using-p "locked.dll")
; 返回nil表示文件未被占用

实现特点:
1. 使用WMI查询文件占用情况
2. 返回详细的进程信息
3. 支持调试模式输出
4. 自动处理路径转换
5. 精确的进程锁定检测

注意事项:
1. 需要管理员权限
2. 仅支持Windows系统
3. 可能无法检测所有锁定情况
4. 网络文件可能检测不准确
5. 调试模式下输出详细日志
------------------------------------------------------------


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