7Zip压缩插件


1. 插件信息

免责声明:本插件以及本博客内容均由第三方提供,请您仔细甄别后再下载和使用。若插件有任何侵权、病毒或其他违法行为,请联系我方下架。

作者:LZX284

基于p7zip 16.02制作,支持多种格式文件的压缩与解压,安装后即可使用。
支持的API架构:armeabi-v7a, arm64-v8a, x86, x86_64

下载地址:https://wwb.lanzoum.com/itGgh0cnzomh

密码: 8ort

从Pro 9.2开始,打包时插件可被合并到apk中,打包后无需再安装插件即可使用。

2. 用法示例

解压

let P7zip = $plugins.load('cn.lzx284.p7zip');
let mP7zip = new P7zip();

// 源路径(目录或文件皆可,必须是完整路径)
let srcPath = '/storage/emulated/0/脚本/';
// 目标目录(必须是完整路径)
let dirPath = '/storage/emulated/0/';
// 压缩文件路径(必须是完整路径)
let compressedFile = '/storage/emulated/0/测试.7z';
// 压缩类型
// 支持的压缩类型包括: zip 7z bz2 bzip2 tbz2 tbz gz gzip tgz tar wim swm xz txz。
let type = "7z";
// 压缩等级: 0-9。
let level = 0;
// 压缩密码(空字符表示无密码)
let password = ""
// p7zip压缩(若文件已存在则跳过)
switch (mP7zip.add(type, level, srcPath, compressedFile, password)) {
    case 0:
        toastLog("压缩成功!文件已保存为: " + compressedFile)
        break;
    case 1:
        toastLog("压缩结束,存在非致命错误(例如某些文件正在被使用,没有被压缩)")
        break;
    case 2:
        toastLog("致命错误")
        break;
    case 7:
        toastLog("命令行错误")
        break;
    case 8:
        toastLog("没有足够内存")
        break;
    case 255:
        toastLog("用户中止操作")
        break;
    default: toastLog("未知错误")
}

压缩

let srcPath = '/storage/emulated/0/脚本/';
// 目标目录(必须是完整路径)
let dirPath = '/storage/emulated/0/';
// 压缩文件路径(必须是完整路径)
let compressedFile = '/storage/emulated/0/测试.7z';
// 压缩类型
// 支持的压缩类型包括: zip 7z bz2 bzip2 tbz2 tbz gz gzip tgz tar wim swm xz txz。
let type = "7z";
// 压缩等级: 0-9。
let level = 0;
// 压缩密码(空字符表示无密码)
let password = ""
// 支持的解压缩类型包括:zip、7z、bz2、bzip2、tbz2、tbz、gz、gzip、tgz、tar、wim、swm、xz、txz以及rar、chm、iso、msi等众多格式。
// p7zip解压(若文件已存在则跳过)
switch (mP7zip.extract(compressedFile, dirPath, password)) {
    case 0:
        toastLog("解压缩成功!请到 " + dirPath + " 目录下查看。")
        break;
    case 1:
        toastLog("压缩结束,存在非致命错误(例如某些文件正在被使用,没有被压缩)")
        break;
    case 2:
        toastLog("致命错误")
        break;
    case 7:
        toastLog("命令行错误")
        break;
    case 8:
        toastLog("没有足够内存")
        break;
    case 255:
        toastLog("用户中止操作")
        break;
    default: toastLog("未知错误")
}

自定义命令

//自定义命令:7z加密压缩
let srcPath = '/storage/emulated/0/脚本/';
// 目标目录(必须是完整路径)
let dirPath = '/storage/emulated/0/';
// 压缩文件路径(必须是完整路径)
let compressedFile = '/storage/emulated/0/测试.7z';
// 压缩类型
// 支持的压缩类型包括: zip 7z bz2 bzip2 tbz2 tbz gz gzip tgz tar wim swm xz txz。
let type = "7z";
// 压缩等级: 0-9。
let level = 0;
// 压缩密码(空字符表示无密码)
let password = ""
var cmdStr = "7z a -y -ms -t7z -p" + password + " " + compressedFile + " -r " + dirPath
switch (mP7zip.cmdExec()) {
    case 0: toastLog("压缩成功!文件已保存为: " + cmdStr)
    case 1: toastLog("压缩结束,存在非致命错误(例如某些文件正在被使用,没有被压缩)")
    case 2: toastLog("致命错误")
    case 7: toastLog("命令行错误")
    case 8: toastLog("没有足够内存")
    case 255: toastLog("用户中止操作")
    default: toastLog("未知错误")
}

完整例子

let P7zip = $plugins.load('cn.lzx284.p7zip');
let mP7zip = new P7zip();

// 源路径(目录或文件皆可,必须是完整路径)
let srcPath = '/storage/emulated/0/脚本/';
// 目标目录(必须是完整路径)
let dirPath = '/storage/emulated/0/';
// 压缩文件路径(必须是完整路径)
let compressedFile = '/storage/emulated/0/测试.7z';
// 压缩类型
// 支持的压缩类型包括: zip 7z bz2 bzip2 tbz2 tbz gz gzip tgz tar wim swm xz txz。
let type = "7z";
// 压缩等级: 0-9。
let level = 0;
// 压缩密码(空字符表示无密码)
let password = ""

// p7zip压缩(若文件已存在则跳过)
switch (mP7zip.add(type, level, srcPath, compressedFile, password)) {
    case 0:
        toastLog("压缩成功!文件已保存为: " + compressedFile)
        break;
    case 1:
        toastLog("压缩结束,存在非致命错误(例如某些文件正在被使用,没有被压缩)")
        break;
    case 2:
        toastLog("致命错误")
        break;
    case 7:
        toastLog("命令行错误")
        break;
    case 8:
        toastLog("没有足够内存")
        break;
    case 255:
        toastLog("用户中止操作")
        break;
    default: toastLog("未知错误")
}

// 支持的解压缩类型包括:zip、7z、bz2、bzip2、tbz2、tbz、gz、gzip、tgz、tar、wim、swm、xz、txz以及rar、chm、iso、msi等众多格式。
// p7zip解压(若文件已存在则跳过)
/*
switch (mP7zip.extract(compressedFile, dirPath, password)) {
    case 0:
        toastLog("解压缩成功!请到 " + dirPath + " 目录下查看。")
        break;
    case 1:
        toastLog("压缩结束,存在非致命错误(例如某些文件正在被使用,没有被压缩)")
        break;
    case 2:
        toastLog("致命错误")
        break;
    case 7:
        toastLog("命令行错误")
        break;
    case 8:
        toastLog("没有足够内存")
        break;
    case 255:
        toastLog("用户中止操作")
        break;
    default: toastLog("未知错误")
}
*/

//自定义命令:7z加密压缩
/*
var cmdStr = "7z a -y -ms -t7z -p" + password + " " + compressedFile + " -r " + dirPath
switch (mP7zip.cmdExec()) {
    case 0: toastLog("压缩成功!文件已保存为: " + cmdStr)
    case 1: toastLog("压缩结束,存在非致命错误(例如某些文件正在被使用,没有被压缩)")
    case 2: toastLog("致命错误")
    case 7: toastLog("命令行错误")
    case 8: toastLog("没有足够内存")
    case 255: toastLog("用户中止操作")
    default: toastLog("未知错误")
}
*/

开源地址

GitHub:p7zip_autojs_plugin


本文不允许转载。
  目录