YStudio Y++

ZIP 支持库

Y++ / YStudio 开发文档 · 一点滴

路径:支持库 → ZIP支持库 → ZIP压缩。

硬约束

  1. 扁平命令,统一前缀 ZIP_。
  2. 路径支持中文;包内路径用正斜杠 /。
  3. 密码非空默认 AES-256(加密方式=2);亦可用 ZipCrypto(=1)。
  4. ZIP_压缩到ZIP 第 2 参 ZIP 路径可省略(源, , 递归, 密码)。
  5. ZIP_添加文件 / ZIP_添加目录:ZIP 已存在则追加;带密码会重建包。
  6. 失败后调用 ZIP_取最后错误() 查看原因。

快速开始

如果 (ZIP_压缩到ZIP("G:/data/demo.txt", "G:/data/demo.zip")) {
    输出("ok")
}
如果 (ZIP_压缩到ZIP("G:/data", , 真, "123456")) {
    输出("目录加密压缩")
}
如果 (ZIP_解压ZIP("G:/data/demo.zip", "G:/out", 真)) {
    输出(到文本(ZIP_取条目数("G:/data/demo.zip")))
} 否则 {
    输出(ZIP_取最后错误())
}

ZIP压缩

本分类共 11 条。

ZIP_压缩到ZIP

  • 签名:逻辑 ZIP_压缩到ZIP(文本 源路径, [文本 ZIP路径=""], [逻辑 递归=真], [文本 密码=""], [整数 加密方式=2])
  • 说明:将文件或目录压缩为 ZIP。第 2 参 ZIP路径可省略(写成「源, , 递归, 密码」中间留空),默认与源同目录、文件名去扩展名后加 .zip。密码非空时默认 AES-256。成功返回真。
  • 参数一│源路径: 待压缩的文件或目录(支持中文路径)
  • 参数二│ZIP路径: 输出 .zip,可省略;默认如 新3.3w身份证.txt → 新3.3w身份证.zip
  • 参数三│递归: 源为目录时是否包含子目录,默认真
  • 参数四│密码: 可选;非空则加密
  • 参数五│加密方式: 1=ZipCrypto,2=AES-256(默认)

ZIP_解压ZIP

  • 签名:逻辑 ZIP_解压ZIP(文本 ZIP路径, 文本 目标目录, [逻辑 覆盖=假], [文本 密码=""])
  • 说明:将 ZIP 内全部文件解压到目标目录。加密包须提供密码。成功返回真。
  • 参数一│ZIP路径
  • 参数二│目标目录: 解压输出目录,不存在则自动创建
  • 参数三│覆盖: 目标文件已存在时是否覆盖,默认假
  • 参数四│密码: 加密 ZIP 的密码

ZIP_解压文件

  • 签名:逻辑 ZIP_解压文件(文本 ZIP路径, 文本 包内路径, 文本 本地路径, [逻辑 覆盖=假], [文本 密码=""])
  • 说明:从 ZIP 中解压单个文件到指定本地路径。成功返回真。
  • 参数一│ZIP路径
  • 参数二│包内路径: ZIP 内的文件路径,如 readme.txt 或 sub/a.txt
  • 参数三│本地路径: 解压后的完整本地路径
  • 参数四│覆盖: 默认假
  • 参数五│密码: 可选

ZIP_添加文件

  • 签名:逻辑 ZIP_添加文件(文本 ZIP路径, 文本 本地路径, [文本 包内路径=""], [文本 密码=""], [整数 加密方式=2])
  • 说明:向 ZIP 追加单个文件;ZIP 不存在则新建。带密码时会重建压缩包。成功返回真。
  • 参数一│ZIP路径
  • 参数二│本地路径: 待添加的本地文件
  • 参数三│包内路径: ZIP 内保存路径,可省略
  • 参数四│密码: 可选
  • 参数五│加密方式: 1=ZipCrypto,2=AES-256(默认)

ZIP_添加目录

  • 签名:逻辑 ZIP_添加目录(文本 ZIP路径, 文本 目录路径, [文本 包内前缀=""], [逻辑 递归=真], [文本 密码=""], [整数 加密方式=2])
  • 说明:向 ZIP 追加目录内全部文件。带密码时会重建压缩包。成功返回真。
  • 参数一│ZIP路径
  • 参数二│目录路径
  • 参数三│包内前缀: 条目在 ZIP 内的前缀目录,可省略
  • 参数四│递归: 是否包含子目录,默认真
  • 参数五│密码: 可选
  • 参数六│加密方式: 1=ZipCrypto,2=AES-256(默认)

ZIP_取条目列表

  • 签名:文本数组 ZIP_取条目列表(文本 ZIP路径)
  • 说明:返回 ZIP 内全部条目路径组成的文本数组。
  • 参数一│ZIP路径

ZIP_取条目数

  • 签名:整数 ZIP_取条目数(文本 ZIP路径)
  • 说明:返回 ZIP 内条目总数(含目录条目)。
  • 参数一│ZIP路径

ZIP_条目是否存在

  • 签名:逻辑 ZIP_条目是否存在(文本 ZIP路径, 文本 包内路径)
  • 说明:判断 ZIP 内是否存在指定路径的条目。
  • 参数一│ZIP路径
  • 参数二│包内路径

ZIP_是否加密

  • 签名:逻辑 ZIP_是否加密(文本 ZIP路径)
  • 说明:判断 ZIP 内是否存在加密条目。
  • 参数一│ZIP路径

ZIP_读文本

  • 签名:文本 ZIP_读文本(文本 ZIP路径, 文本 包内路径, [文本 密码=""])
  • 说明:读取 ZIP 内文本文件内容(支持 UTF-8 / UTF-16 LE)。加密条目须提供密码。
  • 参数一│ZIP路径
  • 参数二│包内路径
  • 参数三│密码: 可选

ZIP_取最后错误

  • 签名:文本 ZIP_取最后错误()
  • 说明:返回最近一次 ZIP 操作失败时的错误描述。

易错对照

错误 正确
包内路径用反斜杠 用 /
加密失败不查错误 调 ZIP_取最后错误()
省略 ZIP 路径写成少参 中间留空:源, , 真, "密码"
追加加密包当原地改 带密码追加会重建压缩包

相关

文件操作 · 加密支持库