windows 下调用gzip.exe 和tar.exe解压*.tar.gz压缩包到指定目录

如:解压D:/test/1.tar.gz 到E:/test/下

1.切换到压缩包所在目录下

cd /d D:

2.调用gzip.exe解压.gz压缩文件

gzip /test/1.tar.gz

3.调用tar.exe解包.tar

tar xvf /test/1.tar -C //./E:/test/

下面是我自己用QT写的解压函数,windows 和 linux 都适用。

#include <QtCore/QCoreApplication>
#include <QFile>
#include <QProcess>
#include <QDebug>
typedef int BOOL;
#define RET_FAILED -1
#define RET_SUCCESS 0BOOL Extract(QString fileName,QString dstPath)
{if(fileName.length()<8 || fileName.right(7)!=".tar.gz"){qDebug()<<"Extract error:unknown file format,mast be '.tar.gz'";return RET_FAILED;}if(dstPath.length() == 0){return RET_FAILED;}int ret;QProcess p;fileName = fileName.replace("//","/");qDebug()<<"Extrating "<<fileName<<" to "<<dstPath<<" ...";if(fileName.at(1) == ':'){QString driveId = fileName.left(2);fileName = fileName.right(fileName.length()-2);p.execute("cd /d " + driveId);}qDebug()<<"start to ungzip "<<fileName<<" ...";ret = p.execute("gzip -d " + fileName);if(ret != 0){qDebug()<<"gzip returns error code:"<<ret;}qDebug()<<"ungzip "<<fileName<<" success!";fileName = fileName.left(fileName.length()-3);if(dstPath.at(1) == ':'){dstPath = "//./" + dstPath;}qDebug()<<"start to untar "<<fileName<<" ...";p.execute("tar xvf " + fileName + " -C " + dstPath);if(ret != 0){qDebug()<<"tar returns error code:"<<ret;}qDebug()<<"untar "<<fileName<<" success!";QFile::remove(fileName);return RET_SUCCESS;
}

GUN tar for windows Practice相关推荐

  1. php 执行文件tar打包,利用tar for windows对大量文件进行快速打包

    近期将某些网站换服务器,由于网站数量巨大,加上附件和静态页,文件数量异常多,考虑先打包然后直接传过去. 起初尝试用winrar打包,但是发现即使选择"仅储存"速度仍然慢到无法接受, ...

  2. Windows Practice(八)_MFC

    简单的Spy++实现 从Spy++运行的效果来看,我们不难推测出,它是根据鼠标移动的位置来进行窗口的查找.那么是什么API呢?那就需要靠万能的谷歌和百度了. 源码实现: 解决方案结构如下: 运行效果如 ...

  3. windows环境下的zookeeper安装

    1.   概述 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂 ...

  4. windows下dubbo-admin和zookeeper安装部署

    1.   概述 ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.名字服务.分布式同步.组服务等.ZooKeeper的目标就是封装好复杂 ...

  5. maven的Windows环境下安装配置

    前言: maven是基于项目对象模型(pom),可以通过一小段描述信息来管理项目的构建,报告和文档的软件管理项目工具. 准备工作 java开发环境(JDK) 目前使用的jdk1.8的版本,jdk的安装 ...

  6. Windows开源Web服务器性能和压力测试工具

    linux有很多开源工具用来测试服务器负载,而windows上非常少,几乎没有除了几个复杂的JMeter WET等 将两个好用的工具是Linux版本通过Cygwin移植过来,方便广大windows人员 ...

  7. Linux tar解压缩命令详解

    tar命令Windows和Linux操作都一样 ,但是zip不一定都支持,压缩命令用得最多的还是tar. 目录 tar命令帮助 tar测试 压缩 解压 查看内部文件 tar命令帮助 [root @ l ...

  8. wmp搭建PHP,windows下php安装

    手动搭建wamp环境是一个phper必须的技能,随着php版本的更新换代,相应和系统以及服务器的搭配都在变化,下面就14年最新版本做个介绍. 一.php版本选择 目前最新的php版本是php5.6.3 ...

  9. windows 打包 python 然后linux执行_使用pyinstaller打包python源代码,成为linux/windows下可执行文件...

    pyinstaller,打包python源代码,成为linux/windows下可执行文件,多平台 下载:http://www.pyinstaller.org/static/ http://www.p ...

最新文章

  1. pyqtdeploy教程_PyQtdeploy-V2.4 User Guide 中文 (一)
  2. ThinkPHP快捷查询
  3. python围绕点旋转
  4. python正则表达式——regex模块
  5. Fast R-CNN论文详解 - CSDN博客
  6. Kubernetes 容器编排
  7. 盛松成:别死盯着M2不放,社会融资规模更能反映中国实际
  8. 用ASP.NET Core MVC 和 EF Core 构建Web应用 (一)
  9. 第一章第一个c#程序上机_我从第一个#100DaysOfCode中学到的东西
  10. 华为lab-rs-v1-2.9_OSPF区域34
  11. 如何清理和删除 Docker 镜像
  12. shiro 原理简介
  13. node 热更新代码,无需每次重启命令
  14. Visual C++ Redistributable for VS2005/VS2008/VS2010/VS2012/VS2013/VS2015/VS2017/VS2019 下载地址
  15. Mentor Graphics Calibre 2017.1 Linux 1DVD寄生參數萃取
  16. JS前端图片压缩上传
  17. java.lang.IllegalArgumentException: Wrong FS ...异常的解决
  18. 案例:程序员离职在家,全职接单心得
  19. 亲爱的,你是吃屎了么
  20. 前端入门——JavaScript

热门文章

  1. 域名怎么买:一口价购买!
  2. 推荐十款 Windows 下必装软件
  3. tensorRT 7 8+ DEB安装教程
  4. 字符与字符串中的‘\0‘, ‘0‘, 0;strlen()函数求字符串长度计算方法(sizeof()验证)
  5. python numpy 数组中元素设置所有小于0的元素为0
  6. matlab 均值、方差、标准差、数据中值、协方差、相关系数、均方根误差
  7. 脸书, 谷歌及硅谷顶尖创投对哪些大学、专业的毕业生最青睐?
  8. 响应式pbootcms模板网站建设类网站
  9. 推荐一款免费的AI代码提示工具Codeium
  10. DECIMAL 与 FLOAT 比较