Windows 平台下打包 bzip2 和 gzip 格式压缩包

bzip2-1.0.8-windows编译 bizp2-1.0.8在windows上使用cmake编译,包含vs2008、vs2015实践编译步骤,同样也支持其他版本的vs。一次可生成tiff的动态库dll、静态库lib,以及mt和md方式编译,可供后续开发灵活使用。 本文操作按照《c&c++开源库编译指南》中内容规范编写,编译环境配置、工具下载、目录规划,及更多其他开源库编译方法请参考该文章。 阅读详情

Windows 平台下打包 bzip2 和 gzip 格式压缩包

问题起因

bzip2 和 gzip 压缩格式是 Linux 下非常流行的压缩文件格式,且压缩率比传统的 rar 等格式高,因此笔者非常希望能在 Windows 平台下方便地使用这两种压缩文件格式。然而,这两种格式只是压缩格式,并不具备归档功能,若要压缩多个文件必须先归档,因此使用 7-Zip 工具,配合自己写的脚本和注册表,实现从文件夹的右键菜单一键归档并压缩。(本文附脚本和注册表文件)

实现步骤

安装 7-Zip

从 7-Zip 官方网站下载最新版本的 7-Zip 安装包,下载完成后打开安装包安装,笔者选择的安装位置为 C:\Program Files\7-Zip\,这个位置你可以根据自己喜好而定,没有所谓。但是如果安装路径和笔者不同,则需要将下文脚本和注册表文件中的所有出现该路径的地方替换为实际的安装路径。

编写归档压缩脚本

复制以下脚本,存为文件 C:\Program Files\7-Zip\dir-gz-bz2.bat,这里我是存到 7-Zip 的安装路径下的,如果你没有放到和笔者相同路径和文件名,则下一节添加注册表项前需要先修改为真实存储的路径。

@echo off

echo Now making package %2.tar ...
"C:\Program Files\7-Zip"\7z.exe a %2.tar %2
if not %errorlevel% == 0 (
    echo Failed to pack %2.tar, aborted.
    exit
)

if %1 == gz (
    echo Now compressing package %2.tar to %2.tar.gz ...
    "C:\Program Files\7-Zip\7z.exe" a %2.tar.gz %2.tar
    if not %errorlevel% == 0 (
        echo Failed to compress %2.tar.gz, aborted.
        exit
    )
) else if %1 == bz2 (
    echo Now compressing package %2.tar to %2.tar.bz2 ...
    "C:\Program Files\7-Zip\7z.exe" a %2.tar.bz2 %2.tar
    if not %errorlevel% == 0 (
        echo Failed to compress %2.tar.bz2, aborted.
        exit
    )
)

if not %1 == tar (
    echo Now deleting %2.tar ...
    del %2.tar
)
echo Compressing finished.

脚本的参数如下:

  • 参数 %1:子命令,包括 tar, gz 和 bz2 三种选择,分别对应仅打包、生成 gzip 格式压缩包(并删除归档包)和生成 bzip2 格式压缩包(并删除归档包);
  • 参数 %2:要打包的文件夹路径

脚本的逻辑如下:

  1. 使用参数 %2 将 %2 代表的文件夹打包为 tar 格式文件,存为文件名 %2.tar;
  2. 若参数 %1 为 gz,则将 %2.tar 压缩为 %2.tar.gz,跳第 4 步;
  3. 若参数 %1 为 bz2,则将 %2.tar 压缩为 %2.tar.bz2,跳第 4 步;
  4. 若参数 %1 为 tar,则不删除 %2.tar,否则删除;
  5. 结束。

通过添加注册表加入右键菜单

复制以下注册表项,存为文件 添加注册表项.reg,这里文件名可以随意,但一定是 .reg 为扩展名结尾的,如果在前文安装 7-Zip 或存放压缩脚本的位置和笔者不同,则需要对注册表项的路径做一定修改,使其和真实的路径相同。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\tar.bz2]
@="添加为 tar.bz2 压缩包"
"icon"="\"C:\\Program Files\\7-Zip\\7zG.exe\""

[HKEY_CLASSES_ROOT\Directory\shell\tar.bz2\command]
@="\"C:\\Program Files\\7-Zip\\dir-gz-bz2.bat\" bz2 \"%1\""

[HKEY_CLASSES_ROOT\Directory\shell\tar.gz]
@="添加为 tar.gz 压缩包"
"icon"="\"C:\\Program Files\\7-Zip\\7zG.exe\""

[HKEY_CLASSES_ROOT\Directory\shell\tar.gz\command]
@="\"C:\\Program Files\\7-Zip\\dir-gz-bz2.bat\" gz \"%1\""

[HKEY_CLASSES_ROOT\Directory\shell\tar]
@="仅添加为 tar 归档"
"icon"="\"C:\\Program Files\\7-Zip\\7zG.exe\""

[HKEY_CLASSES_ROOT\Directory\shell\tar\command]
@="\"C:\\Program Files\\7-Zip\\dir-gz-bz2.bat\" tar \"%1\""

本注册表项一共包含 6 个项目,包括 gzip 格式、bzip2 格式和仅归档为 tar 格式各 2 个项目。其中,每个格式的第一条表项是添加右键菜单名和设置右键菜单中的图标,后一条表项则是设定脚本文件路径,以及传递给脚本文件的必要参数。

下载地址

如果需要,可以直接从下面的地址下载需要用到的 7-Zip 工具、脚本和注册表项:
https://download.youkuaiyun.com/download/jinhangdev/11037685

总结与展望

许多 Linux 下常用工具能够在 Windows 下使用能够便利不少,这个脚本目前有个已知的小缺陷。如果同时选中多个文件夹并不能打包成一个包,而是分别打包并压缩。这里的多个文件夹并不是说一个文件夹下的子文件夹不能压到一个包里,而是说同时用鼠标选中两个文件夹后在右键菜单选择压缩。一个文件夹下的所有文件和子文件夹下的文件是可以压缩到一个包里面的。如果本文对你有用,欢迎留下评论或点赞,谢谢支持!

欢迎访问我的个人主页.
2019.3.19

Linux基础|打包压缩|tar,zip,gzip,bz2,xz 为什么要打压缩包? 1-备份的时候,能节约空间 2-网络传送的时候,能节约时间并且非常方便 适合对象 文本文件(压缩效果最好):比如python写的代码:文本,日志文件 图片文件 视频和音频文件 数据丢失的场景 1-误操作如:rm -rf * 2-服务器故障:磁盘 3-黑客:勒索病毒--》给数据文件加密 4-地震,火灾等 windows系统下老牌压缩软件 winrar--》后缀.rar 7z 好压,360压缩等 Linux里的压缩软件 tar(最好用) 常用命令选 阅读详情

相关推荐

Linux打包压缩命令全解析:从tar、gzip到zip的实战指南

在Linux系统管理与软件开发中,文件归档与压缩是基础且高频的操作。其核心原理在于通过特定算法减少数据存储空间或便于传输,通常涉及打包(将多个文件合并为单一容器)与压缩(减小文件体积)两个步骤。从技术价值看,掌握高效的压缩工具能显著提升数据备份、软件部署及日志处理的效率。常见的压缩算法如基于LZ77的gzip追求速度,而采用Burrows-Wheeler变换的bzip2则侧重压缩率,两者常与打包工具tar结合使用。在实际应用场景中,系统日志滚动归档、软件源码分发、跨平台文件共享等需求,催生了不同的工具组合策

weixin_30457551的博客 330

[win10]——win_gzip使用

之前在处理一个数据的时候,代码中需要使用的是gzip格式压缩的数据,正常windows下的都是zip 或者 rar,所以搞一下windows下的gzip命令 1、下载gzip Gzip for Windows (sourceforge.net) 2、配置环境变量 下载好后,将压缩后文件中的bin路径配置到环境变量中 3、gzip使用 gzip features.tsv ...

weixin_42067873的博客 2619

windows中使用gzip/gunzip(cmd中使用gzip)--实测有效

在window10系统中安装gzip,在cmd中使用gzip压缩文件。

雾林小妖的博客 1万+

Windows上怎么使用gzip压缩

在使用koa-static作为静态服务器中间件时,看官网文档支持gzip压缩,所以想试试效果。 但是gzip是类Unix系统的内置命令,尝试使用了Windows上常用的压缩软件,都只提供了把文件压缩成.tar.gz格式的功能,最后发现了GunWin提供的gzip压缩工具 关于GunWin: Gun Win项目为Win32提供了GNU Linux平台的一些工具包,可以在Window平台使用Linux的部分工具, 具体介绍和工具列表 具体使用方法 1.下载 打开下载地址,这里我们可以选择使用第一个(安装

小朱的专栏 1万+

Bzip2 for Windows:块排序文件压缩器,适用于 Win-32 的 v1.0.6-开源

Bzip2 使用 Burrows-Wheeler 块排序文本压缩算法和霍夫曼编码来压缩文件。 压缩通常比更传统的基于 LZ77/LZ78 的压缩机所实现的要好得多,并且接近 PPM 系列统计压缩机的性能。 作者:Julian Seward,jsewardbzip.org。

window版的gunzip+gzip工具,实现文件压缩和解压缩工具

这两个工具一般用于mysql数据备份和还原的时候使用较多。

12-Linux压缩与解压

较大的文件经压缩后 , 产生了另一个较小容量的文件 , 这个文件称为压缩文件 而压缩此文件的过程称为文件压缩 .tar是linux下最常用的压缩与解压缩 , 支持文件和目录的压缩归档 .

清风 1257

Coze HTTP请求节点实战:5分钟搞定天气API对接(含动态参数技巧)

本文通过一个天气预报API对接的实战案例,详细讲解了如何在Coze平台使用HTTP请求节点实现外部数据交互。文章重点演示了动态参数传递、JSON响应解析与错误处理等核心技巧,帮助开发者在5分钟内快速构建稳定可靠的智能体外部服务调用能力。

weixin_29233333的博客 675

压缩打包介绍 gzip压缩工具 bzip2压缩工具 xz压缩工具

压缩打包介绍对于服务器上一些经常需要下载的文件,我们尽可能的使用压缩包的形式存放,这样节约上传,下载所需要的流量Linux常见的的压缩格式.zip.gz.bz2.xz.tar.gz.tar.bz2.tar.xz·····gzip压缩工具我们先查看一个这个文件现在的大小·现在我们给它进行gzip压缩(不能压缩目录)gzip +文件名gzip 1.txt·这时我们可以看到,1.txt已经没了,变成了一...

weixin_33908217的博客 258

Android perfetto 简介

android linux 性能优化 原理及操作

求变,从思想开始 3476

为什么你的SSE连接总断?深入对比EventSource与fetch-event-source的5大差异点

本文深入对比了原生EventSource与@microsoft/fetch-event-source库在SSE连接稳定性上的五大关键差异。重点剖析了后者在请求能力、连接控制、错误处理、数据解析及性能优化方面的优势,特别是其支持POST请求、自定义Header、精细化的重连策略与生命周期管理,为解决生产环境中SSE连接频繁断开的问题提供了专业方案。

weixin_28077113的博客 494

压缩打包介绍、gzip、bzip2与xz压缩工具

一、压缩打包介绍压缩的好处不仅能节省磁盘空间而且在传输的时候还可以节省网络带宽在windows和linux下都能使用的是.zip格式的文件主要有以下几种工具: .gz gzip 压缩工具压缩的文件.bz2 bzip2 压缩工具压缩的文件.tar tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件).tar.gz 可以理解为先用tar打包,然后再gzip压缩.tar.bz

mojianbin的博客 1059

反序列化漏洞详解

目录 一、什么是序列化和反序列化 二、什么是反序列化漏洞 三、序列化函数(serialize) 四、反序列化(unserialize) ​五、什么是PHP魔术方法 六、一些常见的魔术方法 七、魔术方法的利用 八、反序列化漏洞的利用 1.__destruct()函数 2.__wakeup() 3.toString() ​九、反序列化漏洞的防御 一、什么是序列化和反序列化 序列化是将对象转换为字符串以便存储传输的一种方式。而反序列化恰好就是序列化的逆过程,反序列化会将字符串.

LJH1999ZN的博客 3万+

压缩打包介绍,gzip压缩工具,bzip2压缩工具,xz压缩工具

压缩打包介绍使用压缩文件,不仅能节省磁盘空间,而且还能节省传输时间和网络带宽。常见的压缩文件windows系统中,常见的压缩文件有 .rar, .zip, .7zlinux系统中,常见的压缩文件有 .zip, .gz, .bz2, .xz, .tar.gz, .tar.bz2, .tar.xzgzip压缩工具gzip格式为gzip [-d -c #]  filename,其中#为1-9的数字。-d...

weixin_39663255的博客 381

YOLO由浅入深,最简单地说明白YOLO基本实现原理

YOLO(You Only Look Once)是一种高效的实时目标检测技术,广泛应用于自动驾驶、监控和无人机等领域。其核心优势在于速度快,能够在视频流中实时识别目标并标出其位置、大小、类别及置信度。YOLO基于卷积神经网络(CNN),通过卷积层提取图像特征,池化层和扁平化层优化特征处理,全连接层进行分类。与传统方法不同,YOLO将图像分割成多个网格,每个网格预测多个边界框及其置信度,仅对高置信度的框进行详细计算,从而快速确定目标的位置和类别。这种机制使得YOLO在保持高准确率的同时,实现了高效的实时处理能

qq_30279827的博客 564

Linux C/C++ or 嵌入式面试之《C/C++笔面试系列》(10) C++ 前置后置增减运算符重载形式与比较

C语言的++、–运算符在此不讨论。 文章目录1、前置后置增减运算符重载的形式2、前置和后置运算符的性能比较 1、前置后置增减运算符重载的形式 自增运算符“++”和自减运算符“–”分别包含两个版本。即运算符前置形式(如 ++x)和运算符后置形式(如 x++),这两者进行的操作是不一样的。因此,当我们在对这两个运算符进行重载时,就必须区分前置和后置形式。C++根据参数的个数来区分前置和后置形式。如果按照通常的方法来重载 ++ 运算符(即作为成员函数重载时不带参数,或者作为非成员函数重载时带有一个参数),那么重载

二进制君 5831

Linux 文件系统打包压缩与解包解压缩全指南

计算机领域里,打包和压缩打包:将多个文件或目录组合成一个单一文件的过程。压缩:通过特定算法减小文件大小的过程。打包压缩:先打包再压缩,实现多个文件的整理和空间节省的双重目的。

Q3226658139的博客 952

【ACP】2025-最新-疑难题解析-1

即用户手动释放时,因实例释放保护开启,不会释放该 ECS 实例(不同云厂商具体实现有差异,但题目场景下选 C )。结合题目中标记,答案为。综上,答案选 B。综上,答案选 C。综上,答案选 D。综上,答案选 A。综上,答案选 A。综上,答案选 C。综上,答案选 D。综上,答案选 A。

jundao1997的专栏 364

Linux .gz/.tar/.zip/.bzip2 四种格式的压缩解压命令

1、.gz格式的压缩和解压缩 压缩命令:gzip 语法:gzip[文件] 功能描述:压缩文件 压缩后的文件格式:.gz 在tmp目录下,查看tmp目录下的文件: 然后创建一个名为boduo的文件,并将其压缩: touch boduo gzip boduo 然后查看可以发现多了一个.gz的boduo压缩文件 解压缩命令:gunzip 语法:gunzip [压缩文件] 功能描述:解压缩.gz的压缩文件 例如:gunzip boduo.gz gzip命令只能压缩文件,不可以压缩目录。 当使用gzip压缩

weixin_44096353的博客 376

微信小程序 - 详解苹果ios手机请求不到数据访问不了接口,但安卓却可以正常访问。wx.request苹果手机IOS请求失败、安卓可以请求成功(微信小程序上线后苹果手机不能访问接口,网络请求失败排查)

微信小程序上线后,苹果手机请求不到数据,安卓可以,微信小程序,安卓可以调接口,苹果调不了的解决方案,微信小程序:IOS访问不了接口,安卓可以正常访问,微信小程序ios版本连接不了服务器,小程序Android可以请求,ios请求失败wx.request,成功上线的小程序,安卓机可以正常访问使用,苹果微信小程序不执行请求,苹果系统无法加载数据,微信小程序 iOS 网络失败,微信小程序接口请求在ios端报错,苹果手机真机调试微信小程序出现网络请求失败,微信小程序 安卓正常 ios调接口显示网络请求失败,微信小程序

🏆 前端领域优质创作者 4361

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Linux常见的压缩包有哪些?

作用:用来对系统上的文件作备份与恢复,可以将系统上多个文件组构成一个tar文件备份到磁盘内或写入到一般的文件(文件名为*.tar)上,也可以将文件从一个tar文件解回到原来的系统中。[-f] compress命令执行时,如果目的文件存在,将会询问用户是否要覆盖现有的文件,如果使用了这个选项,将会强制执行压缩命令,不询问而直接覆盖。作用:文件经过compress程序压缩后,会被置换产生一个.Z的文件,这个.Z的文件的拥有权关系以及修改的时间将会保留原先未压缩文件的设置。不会匹配“.” ,但可以匹配/)

qq_73767908的博客 867

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux系统压缩打包 一. 文件归档与压缩 二. gzip打包与压缩 (压缩工具)三. zip打包与压缩 四. tar打包与压缩

Linux系统压缩打包 一. 文件归档与压缩 二. gzip打包与压缩 (压缩工具)三. zip打包与压缩 四. tar打包与压缩

weixin_48824655的博客 893

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

linuxOps基础_linux文件打包压缩与解压缩

在Linux操作系统中,其拥有很多压缩工具,如gzip、bzip2、xz等等,但是其有一个缺点:一次只能压缩一个文件(而且无法压缩文件夹)① 打包,把一个或多个文件打成tar包,并不是压缩,只是把文件合并在一个tar文件中1.txt 5MB打包123.tar = 5MB + 10MB + 15MB = 30MB为什么要打包,就是为了后期的压缩操作。② 打包并压缩。

JiuMeilove的博客 2万+

Linux打包与压缩核心指南:从tar、gzip到xz的实战详解

在Linux系统管理与文件处理中,打包与压缩是两项基础且核心的操作。打包(Archiving)的本质是将多个文件及元数据聚合为单一文件流,而压缩(Compression)则是通过算法消除数据冗余以减小体积。理解这一原理对于高效管理文件、节省存储空间和加速网络传输至关重要。在技术实现上,Linux提供了以tar为代表的归档工具,以及gzip、bzip2、xz等压缩算法,它们通过管道组合,形成了如.tar.gz这样的经典格式。这些工具在软件分发、日志轮转、系统备份等工程实践中广泛应用。例如,结合tar命令与gz

weixin_34226706的博客 348

2.4.3、bzip2、bunzip2:bz2 文件压缩解压

bzip2、bunzip2:bz2 文件压缩解压

融码一生:专注 Python、C/C++、Linux、机器学习 & 深度学习、NLP、算法领域分享 905

文档的压缩与打包

8.1 文档的压缩与打包 .zip格式的文件在Windows和Linux下都能使用;Linux下常见的压缩文件通常是.tar.gz格式,除此之外还有以下常见的后缀名对应的压缩工具: .gz:表示由gzip压缩工具压缩的文件 .bz2:表示由bzip2压缩工具压缩的文件 .tar:表示由tar打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件) .tar.gz:可以理解...

abcdef121233123的博客 556
上一篇: Ubuntu 16.04 64 位下编译 32 位程序
下一篇: C# WebApi 返回详细错误信息
造轮使者
博客等级 码龄9年 30粉丝 18原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值