扁平命令式支持库(不是类)。路径:支持库 → 基础支持库 → 文件操作 / 目录操作。
硬约束
- 扁平命令:
读文件("a.txt"),无对象前缀。 读文件返回文本;二进制请用读入文件/读字节集类命令(见签名表)或写出/读入字节集。写文件默认#写模式(覆盖);追加用第 4 参#追加模式,或追加文件/写出文件(..., 真)。- 路径支持绝对/相对;文本默认 UTF-8(常带 BOM 写出,读取可自动识别)。
- 失败常见返回:逻辑假、空文本、空数组;先用
文件存在/路径存在判断。 - 嵌入资源可用
写出文件(路径, ":/相对资源")按原始字节写出。
快速开始
文本 路径 = "G:/demo/hello.txt"
如果 (!路径存在("G:/demo")) {
创建目录("G:/demo")
}
写文件(路径, "第一行" + 换行符 + "第二行")
文本 内容 = 读文件(路径)
输出(内容)
追加文件(路径, "第三行" + 换行符)
数组 行[] = 读文件行(路径)
输出("行数=" + 到文本(取数组成员数(行)))
文件操作
本分类共 33 条。
写出文件
- 签名:
逻辑 写出文件(文本 写出路径, 通用 数据, [逻辑 追加=假], [整数 编码=65001], [逻辑 自动创建目录=真]) - 说明:把资源或普通数据写出到本地文件。数据可为文本、字节、字节集或通用值;当数据是有效的 :/资源路径时,按原始二进制内容写出资源。
- 参数一│文本 写出路径: 目标文件路径;默认自动创建不存在的父目录
- 参数二│通用 数据: 文本、字节、字节集或通用数据;有效的 :/资源路径会按资源原始字节写出
- 参数三│[逻辑 追加=假]: 假=覆盖,真=追加
- 参数四│[整数 编码=65001]: 文本数据的 Windows 代码页,默认 #编码_UTF8;二进制和资源数据忽略此参数
- 参数五│[逻辑 自动创建目录=真]: 为假时父目录不存在则返回假
写文件
- 签名:
逻辑 写文件(文本 文件路径, 文本 内容, [常量 编码=#编码_UTF8], [常量 模式=#写模式]) - 说明:将内容写入文本文件。第 4 个参数为打开模式:#写模式(默认,覆盖)、#追加模式(或使用「追加文件」命令更易记)。
- 参数一│文本 文件路径: 目标文件(目录需已存在)
- 参数二│文本 内容: 要写入的文本
- 参数三│[常量 编码=#编码_UTF8]: #编码_UTF8 / #编码_GBK / #编码_UNICODE / #编码_自动 等
- 参数四│[常量 模式=#写模式]: #写模式(覆盖)或 #追加模式
写文件行
- 签名:
逻辑 写文件行(文本 路径, 数组 行数组, [常量 编码=#编码_UTF8]) - 说明:将文本数组按行写入文件,行间以换行符分隔。
- 参数一│文本 路径: 目标文件
- 参数二│数组 行数组: 文本数组,每个元素写入一行
- 参数三│[常量 编码=#编码_UTF8]: #编码_UTF8 / #编码_GBK / #编码_UNICODE / #编码_自动 等
创建目录
- 签名:
逻辑 创建目录(文本 目录路径) - 说明:创建目录,支持递归创建多级目录。
- 参数一│文本 目录路径: 要创建的目录路径
删除文件
- 签名:
逻辑 删除文件(文本 文件路径) - 说明:永久删除指定文件;成功返回真。
- 参数一│文本 文件路径: 要删除的文件
删除目录
- 签名:
逻辑 删除目录(文本 目录路径, [逻辑 递归删除=假]) - 说明:删除目录;可选递归删除目录内所有文件和子目录。
- 参数一│文本 目录路径: 要删除的目录
- 参数二│[逻辑 递归删除=假]: 为真时删除目录内所有内容
取临时目录
- 签名:
文本 取临时目录() - 说明:获取系统临时文件目录。
取子目录列表
- 签名:
数组 取子目录列表(文本 目录, [逻辑 递归=假], [逻辑 完整路径=真]) - 说明:枚举子目录列表;可递归、完整路径。别名「取目录列表」。
- 参数一│文本 目录: 父目录
- 参数二│[逻辑 递归=假]: 为真时包含子目录的子目录
- 参数三│[逻辑 完整路径=真]: 真=返回完整路径,假=仅目录名
取当前目录
- 签名:
文本 取当前目录() - 说明:获取当前工作目录。
取执行文件名
- 签名:
文本 取执行文件名() - 说明:获取当前正在运行的可执行文件名(含扩展名,如 MyApp.exe)。
取文件修改时间
- 签名:
文本 取文件修改时间(文本 路径) - 说明:取文件最后修改时间文本,格式 yyyy-MM-dd HH:mm:ss。
- 参数一│文本 路径: 文件路径
取文件列表
- 签名:
数组 取文件列表(文本 目录, [文本 筛选="*.*"], [逻辑 递归=假], [逻辑 完整路径=真]) - 说明:获取目录下的文件列表(可筛选、递归、返回完整路径)。
- 参数一│文本 目录: 欲获取目标目录,如 “D:/”
- 参数二│[文本 筛选=”.”]: 文件名通配符,如 “.txt”、”.cpp”;可用分号分隔多个模式
- 参数三│[逻辑 递归=假]: 真=包含子目录,假=仅当前目录
- 参数四│[逻辑 完整路径=真]: 真=返回完整路径,假=仅文件名
取文件创建时间
- 签名:
文本 取文件创建时间(文本 路径) - 说明:返回文件创建时间文本,格式 yyyy-MM-dd HH:mm:ss。
- 参数一│文本 路径: 文件路径
取文件名
- 签名:
文本 取文件名(文本 文件路径, [逻辑 含扩展名=真]) - 说明:从完整路径中提取文件名。
- 参数一│文本 文件路径: 完整或相对路径
- 参数二│[逻辑 含扩展名=真]: 为假时不含扩展名
取文件大小
- 签名:
整数 取文件大小(文本 文件路径) - 说明:获取文件大小(字节);失败或不存在返回 -1。
- 参数一│文本 文件路径: 文件路径
取文件扩展名
- 签名:
文本 取文件扩展名(文本 文件路径, [逻辑 含点号=假]) - 说明:获取文件的扩展名(可按需含或不含点号;含多点的路径/URL 取最后一个点之后)。
- 参数一│文本 文件路径: 文件路径或文件名
- 参数二│[逻辑 含点号=假]: 为真时返回如 .png,为假时返回 png
取文档路径
- 签名:
文本 取文档路径() - 说明:获取用户「我的文档」路径。
取桌面路径
- 签名:
文本 取桌面路径() - 说明:取当前用户桌面文件夹路径。
取目录路径
- 签名:
文本 取目录路径(文本 路径) - 说明:从完整路径中提取目录部分(不含末尾文件名)。
- 参数一│文本 路径: 文件或目录路径
取程序目录
- 签名:
文本 取程序目录() - 说明:获取当前程序 exe 所在目录(末尾无分隔符)。
合并路径
- 签名:
文本 合并路径(文本 路径1, 文本 路径2, [文本 路径3]) - 说明:合并多个路径片段,按系统规则自动处理分隔符。
- 参数一│文本 路径1: 第一个路径
- 参数二│文本 路径2: 第二个路径
- 参数三│[文本 路径3]: 第三个路径(可选)
复制文件
- 签名:
逻辑 复制文件(文本 源路径, 文本 目标路径, [逻辑 覆盖=假]) - 说明:复制文件到新位置。
- 参数一│文本 源路径: 源文件路径
- 参数二│文本 目标路径: 目标文件路径
- 参数三│[逻辑 覆盖=假]: 目标存在时是否覆盖
文件存在
- 签名:
逻辑 文件存在(文本 文件路径) - 说明:判断路径是否存在且为文件(非目录)。
- 参数一│文本 文件路径: 要检测的路径
是否只读
- 签名:
逻辑 是否只读(文本 路径) - 说明:判断文件/路径是否只读。
- 参数一│文本 路径: 文件路径
格式化文件大小
- 签名:
文本 格式化文件大小(整数 字节数, [整数 小数位=2]) - 说明:把字节数格式化为 B/KB/MB/GB/TB 等可读文本。
- 参数一│整数 字节数: 文件大小字节
- 参数二│[整数 小数位=2]: 小数位数
目录存在
- 签名:
逻辑 目录存在(文本 路径) - 说明:判断目录路径是否存在。
- 参数一│文本 路径: 目录路径
移动文件
- 签名:
逻辑 移动文件(文本 源路径, 文本 目标路径) - 说明:移动文件到新位置或重命名;源路径不再存在。
- 参数一│文本 源路径: 源文件路径
- 参数二│文本 目标路径: 目标文件路径
置当前目录
- 签名:
逻辑 置当前目录(文本 目录路径) - 说明:设置进程当前工作目录;成功返回真。
- 参数一│文本 目录路径: 要切换到的目录,须已存在
设置只读
- 签名:
逻辑 设置只读(文本 路径, 逻辑 只读) - 说明:设置或取消文件的只读属性。
- 参数一│文本 路径: 文件路径
- 参数二│逻辑 只读: 真=设为只读,假=取消
读文件
- 签名:
文本 读文件(文本 文件路径, [常量 编码=#编码_UTF8], [逻辑 保留格式=真], [逻辑 自动识别编码=真]) - 说明:读取文本文件内容,支持自动识别编码或指定编码。.docx(Word)会尝试用系统 PowerShell 解压并抽取正文为纯文本;失败时请另存为 .txt 或使用专用库。
- 参数一│文本 文件路径: 要读取的文件
- 参数二│[常量 编码=#编码_UTF8]: #编码_UTF8 / #编码_GBK / #编码_UNICODE / #编码_自动 等
- 参数三│[逻辑 保留格式=真]: 是否保留换行等
- 参数四│[逻辑 自动识别编码=真]: 真时尝试探测编码
读文件行
- 签名:
数组 读文件行(文本 路径, [常量 编码=#编码_UTF8], [逻辑 去空行=假], [整数 最大行数=0]) - 说明:按行读取文件,返回文本数组。
- 参数一│文本 路径: 文件路径
- 参数二│[常量 编码=#编码_UTF8]: #编码_UTF8 / #编码_GBK / #编码_UNICODE / #编码_自动 等
- 参数三│[逻辑 去空行=假]: 为真时跳过空行
- 参数四│[整数 最大行数=0]: 限制读取行数,0=不限制
追加文件
- 签名:
逻辑 追加文件(文本 文件路径, 文本 内容, [常量 编码=#编码_UTF8]) - 说明:向文件末尾追加内容(写文件 #追加模式 的简化版);文件不存在则创建。
- 参数一│文本 文件路径: 目标文件
- 参数二│文本 内容: 追加文本
- 参数三│[常量 编码=#编码_UTF8]: #编码_UTF8 / #编码_GBK / #编码_UNICODE / #编码_自动 等
重命名文件
- 签名:
逻辑 重命名文件(文本 原路径, 文本 新文件名) - 说明:在同目录下重命名文件;新文件名为不含路径的文件名。
- 参数一│文本 原路径: 原文件完整路径
- 参数二│文本 新文件名: 新名称(不含目录)
目录操作
本分类共 10 条。
取特定目录
- 签名:
文本 取特定目录(整数 类型) - 说明:按类型取系统常用目录路径(末尾一般无分隔符)。
- 参数一│整数 类型: 1桌面 2文档 3下载 4音乐 5图片 6视频 7应用数据 8本地应用数据 9临时 10程序目录
取目录大小
- 签名:
整数 取目录大小(文本 目录路径) - 说明:递归统计目录下全部文件总字节数;失败返回 -1。
- 参数一│文本 目录路径
复制目录
- 签名:
逻辑 复制目录(文本 源目录, 文本 目标目录, [逻辑 覆盖=假]) - 说明:递归复制整个目录树到目标路径。
- 参数一│文本 源目录
- 参数二│文本 目标目录: 不存在则创建
- 参数三│[逻辑 覆盖=假]: 真=覆盖已存在的同名文件
是否为文件
- 签名:
逻辑 是否为文件(文本 路径) - 说明:判断路径是否存在且为普通文件(与「文件存在」相同)。
- 参数一│文本 路径
是否为目录
- 签名:
逻辑 是否为目录(文本 路径) - 说明:判断路径是否存在且为目录(与「目录存在」相同)。
- 参数一│文本 路径
清空目录
- 签名:
逻辑 清空目录(文本 目录路径) - 说明:删除目录内全部文件与子目录,但保留该目录本身。
- 参数一│文本 目录路径
目录为空
- 签名:
逻辑 目录为空(文本 路径) - 说明:判断目录是否存在且不含任何文件/子目录(忽略 . 与 ..)。
- 参数一│文本 路径: 目录路径
移动目录
- 签名:
逻辑 移动目录(文本 源目录, 文本 目标目录) - 说明:移动(或跨卷复制后删除)整个目录。
- 参数一│文本 源目录
- 参数二│文本 目标目录
路径存在
- 签名:
逻辑 路径存在(文本 路径) - 说明:判断路径是否存在(文件或目录均可)。
- 参数一│文本 路径
重命名目录
- 签名:
逻辑 重命名目录(文本 目录路径, 文本 新名称) - 说明:在同级父目录下重命名目录;新名称为不含路径的目录名。
- 参数一│文本 目录路径
- 参数二│文本 新名称: 新目录名(不含路径)
易错对照
| 错误 | 正确 |
|---|---|
写文件 当追加 |
默认覆盖;追加用 #追加模式 或 追加文件 |
| 目录不存在仍写文件 | 先 创建目录,或用 写出文件 且自动创建目录=真 |
把 读文件 当字节集 |
读文件 返回文本;二进制另选读入命令 |
| 相对路径相对哪 | 相对当前工作目录,不是源码目录 |