之前写过一款《批量双重压缩小工具7z格式优化版》,很多网友表示这款工具很实用,于是我这次给这款软件进一步增强了其功能。

1.现在不仅可以支持目录的双层压缩,同时也支持了文件的双层压缩。

2.不仅支持双层压缩,还支持了单层压缩,去掉第二层的勾选即可。

新版软件界面如下:

软件的使用方法跟之前没有区别,拖拽文件或者目录到列表即可。

生成的文件已经是经过加密压缩的了。

第二层:

核心代码也分享出来吧:

//author:autumoon
//联系邮箱:9506#163.com
//日期:2023-02-06
int CompressOneItem(const _tstring& strSrcItem, const _tstring& stDstDir, const size_t& index)
{//处理所有项目,推荐判断项目是否存在const _tstring stCurItem = strSrcItem;const _tstring stDstItem = CStdStr::AddSlashIfNeeded(stDstDir) + CStdStr::GetNameOfFile(stCurItem);#ifdef ITEM_ONLY_FILEif (CStdFile::IfAccessFile(stCurItem)){//处理文件_tstring strFileName = CStdStr::GetNameOfFile(stCurItem, false);_tstring strDstFile1 = CStdStr::AddSlashIfNeeded(stDstDir) + strFileName + g_suffix1;_tstring strDstFile2 = CStdStr::AddSlashIfNeeded(stDstDir) + strFileName + g_suffix2;if (g_suffix1 == g_suffix2){return -1;}RenameIfExists(strDstFile2);//有空格的时候,需要添加引号_tstring strQuoteDstFile1 = CStdStr::AddQuoteIfContains(strDstFile1);_tstring strCmd = "7z a " + strQuoteDstFile1 + " -p" + g_pwd1 + " -mhe " + CStdStr::AddQuoteIfContains(stCurItem);system(strCmd.c_str());//第二层压缩if (CStdFile::IfAccessFile(strQuoteDstFile1) && g_switch){_tstring strQuoteDstFile2 = CStdStr::AddQuoteIfContains(strDstFile2);strCmd = "7z a -mx9 " + strQuoteDstFile2 + " -p" + g_pwd2 + " -mhe " + CStdStr::AddQuoteIfContains(strDstFile1);system(strCmd.c_str());//删除第一层的压缩文件if (remove(strDstFile1.c_str()) != 0){bool bRemoved = false;for (int i = 0; i < 3; ++i){Sleep(1000);if (DeleteFile(strDstFile1.c_str())){bRemoved = true;break;}}if (!bRemoved){CLOG::Out("Remove file %s failed!", strDstFile1.c_str());}}}}
#endif // ITEM_ONLY_FILE#ifdef ITEM_ONLY_DIR//如果是目录if (PathIsDirectory(stCurItem.c_str())){//处理文件夹_tstring strDirName = CStdStr::GetNameOfDir(stCurItem);_tstring strDstFile1 = CStdStr::AddSlashIfNeeded(stDstDir) + strDirName + g_suffix1;_tstring strDstFile2 = CStdStr::AddSlashIfNeeded(stDstDir) + strDirName + g_suffix2;if (g_suffix1 == g_suffix2){return -1;}RenameIfExists(strDstFile2);//有空格的时候,需要添加引号_tstring strQuoteDstFile1 = CStdStr::AddQuoteIfContains(strDstFile1);_tstring strCmd = "7z a " + strQuoteDstFile1 + " -p"+ g_pwd1 + " -mhe " + CStdStr::AddQuoteIfContains(CStdStr::AddSlashIfNeeded(stCurItem));system(strCmd.c_str());_tstring strQuoteDstFile2 = CStdStr::AddQuoteIfContains(strDstFile2);if (CStdFile::IfAccessFile(strDstFile1) && g_switch){//第二重压缩strCmd = "7z a -mx9 " + strQuoteDstFile2 + " -p" + g_pwd2 + " -mhe " + CStdStr::AddQuoteIfContains(strQuoteDstFile1);system(strCmd.c_str());if (remove(strDstFile1.c_str()) != 0){bool bRemoved = false;for (int i = 0; i < 3; ++i){Sleep(1000);if (DeleteFile(strDstFile1.c_str())){bRemoved = true;break;}}if (!bRemoved){CLOG::Out("Remove file %s failed!", strQuoteDstFile1.c_str());}}}}
#endif // ITEM_ONLY_DIRreturn 0;
}

软件成品暂未公开,但关键源代码已经提供了,可以参考一下,自行实现功能即可。

如果仅仅需要软件成品的,可以私信我取得联系。

想要全套源代码的,也可以私信我取得联系,一起学习交流。

批量双层压缩小工具7z格式增强版相关推荐

  1. 批量发工资条小工具使用说明

    软件下载地址: 批量发工资条小工具下载地址: http://download.csdn.net/detail/qingxinwudao/9441899 office 2003百度云下载地址:http: ...

  2. 批量修改编码格式小工具

    批量修改编码格式小工具 工具地址https://github.com/amrali-eg/EncodingChecker

  3. php源代码压缩,PHP_PHP 源代码压缩小工具,使用方法:(在命令行运行) 复 - phpStudy...

    PHP 源代码压缩小工具 使用方法:(在命令行运行) 复制代码 代码如下: php compactor.php DESTINATION.php SOURCE.php 下载: compactor.php ...

  4. 批量修改文件名小工具

    介绍 批量修改文件名小工具功能:批量添加文件前缀.尾缀.修改文件类型. 说明 选择路径后,会批量修改整个目录下的文件 功能举例: 添加文件名前缀:1.txt -> 前缀1.txt 添加文件名尾缀 ...

  5. C#百度网盘批量转存助手工具_绿色安全版 百度云盘一键转存小黄人软件原创20161204已测可用

    有谁合伙或投资我吗? 已实现抓取百度网盘所有用户有效分享链接和对应文件名.24小时自动爬虫抓取.下一步,做百度网盘资源搜索网站. 还实现了一些辅助功能:批量逐个分享,得到文件名和对应链接列表. 批量转 ...

  6. ORPALIS PDF Reducer Pro(免费pdf压缩器工具)官方正式版V4.0.1 | pdf免费压缩软下载 | 怎样将pdf压缩得很小?

    ORPALIS PDF Reducer Pro 是一款优秀实用的离线单机版pdf免费压缩软件,也就是大家说的免费pdf压缩器工具,内置多种超高压缩比的PDF压缩算法和创新的页面布局分析以及自动颜色检测 ...

  7. flash小黄油安卓_今日软件 | 电信免费升级500M、安卓下载神器、MX Player、全能PDF工具、Chrome增强版、硬盘坏道扫描工具...

    今日软件更新 安卓APP 「检摄」2.0.2 # 用手机传感器检测摄像头,保护隐私 ▾下载:https://lanzous.com/icbrxpi 「Volume Styles」1.7.1 # 定制修 ...

  8. java 混淆 js_JS混淆压缩小工具

    http://www.saltstorm.net/depo/esc/或51AJAX.com或直接点击ESC.zip下载). 偶最近混淆压缩JS都用这小工具. ESC是一个小巧的Window Shell ...

  9. java oss 批量传输_软件神器 I 图片批量压缩改名工具Caesium汉化版

    要 么 有 趣,要 么 有 用 「图层实验室」 " 西瓜本身做公众号和网站,公众号还好,不是自己的服务器,上传图片视频,不需要付费,所以无所谓. 但是,网站就不一样了,素材站大量的图片,积攒 ...

最新文章

  1. MindSpore部署图像分割示例程序
  2. 别的设计师比你又快又好,是因为你不知道他们在用介个!
  3. 安装zookeeper
  4. 【C 语言】二级指针内存模型 ( 指针数组 | 二维数组 | 自定义二级指针 | 将 一、二 模型数据拷贝到 三 模型中 并 排序 )
  5. Python eval函数用法简介
  6. [置顶] 风雨20年:我所积累的20条编程经验
  7. Java重载容易引发的错误—返回类型
  8. java8 streams_Java 8 Friday:使用Streams API时的10个细微错误
  9. qt往mysql中添加数据_qt往数据库添加数据
  10. 简单总结.NET中的各% %用法及区别
  11. 屏幕录像软件Community Clips Recorder简介及其使用技巧
  12. 黑盒测试的测试方法及其案例
  13. 股票补仓计算机在线计算,补仓股价计算器,股票补仓:计算器
  14. YYtext简单使用
  15. 其他计算机才能打印,关于HPM126A打印机共享问题-共享之后主机得打印一次后其他电脑才能打印...
  16. XUI 一个简洁而优雅的Android原生UI框架,解放你的双手!
  17. 统一论:3G手机、云计算、SaaS、业务开发平台、SOA、BPEL
  18. ThinkPad E450 拆机换电池
  19. 免费生信课程|多组学数据整合分析之转录组和蛋白质组分析
  20. python含义是什么_python _=是什么意思

热门文章

  1. EDG夺冠,用Python数据分析一波:粉丝都炸锅了
  2. 错误代码0x8002801c
  3. 微信小程序点播插件_微信小程序商城直播插件测试
  4. 单片机应用系统设计技术——自行车测速仿真
  5. 登录K3提示:运行终端服务时,客户端和中间层组件不能在同一台电脑上
  6. 生活中的几点感想-20210205
  7. 已经被美团、神策“问烂”了的三道多线程面试题,你能答对几道?
  8. Mybatis-Plus 常用对比字段 eq、ne、gt、lt、ge、le
  9. rockchip 平台ksz8863rll调试
  10. 四川成都发生地震!!!!!!!!!!!!