WinRar解压.gz文件问题,求大神

Kayee2012 2013-04-24 07:02:52
打算做一个在windows环境下,代码实现解压.gz,本打算调用Winrar来操作,发现用系统安装好的路径去调用
如:"C:\Program Files\WinRAR\WinRAR.exe" x C:\Users\test\Desktop\新建文件夹\S142044.gz C:\Users\test\Desktop\新建文件夹\
这样可以顺利解压到当前目录下
但是为了解决若目标电脑没有安装Winrar的情况,所以拷贝了WinRar.exe到程序目录下
然后使用
"d:\TestWinRar\Debug\WinRAR.exe" x C:\Users\test\Desktop\新建文件夹\S142044.gz C:\Users\test\Desktop\新建文件夹\
就会出现 : The archive is either in unknown format or damaged
但实际上文件时没有损坏的,另外就是里面的文件是没有后缀名称的(也是一个压缩文件,但需要特定的解压方式,这里不考虑),我试过如果是rar压缩格式的就不存在这个问题。不知道与环境变量有无关系,不知道如何去解决这个问题,求大神们指点迷津……
...全文
2390 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
titan_fsw 2013-05-22
  • 打赏
  • 举报
回复
使用zlib会出现class ecompressionerror 错误,而使用rar会出现“该文件为非rar压缩包”的错误,最后还是使用7zip解决了。去7zip的官网,下载7zip,安装7-zip,使用7zip解压即可,代码如下: begin winexec('c:\program files\7-zip\7z.exe x -y e:\test\xxx.gz',sw_shoenormal); end; 文件被解压到你编写的程序的当前目录,如需要更改解压文件的存放目录,应该可参考7zip的命令参数。
Kayee2012 2013-04-25
  • 打赏
  • 举报
回复
引用 5 楼 ccrun 的回复:
7zip的源码太复杂了。你可以直接使用7zip提供的DLL
好的,谢谢
ccrun.com 2013-04-25
  • 打赏
  • 举报
回复
7zip的源码太复杂了。你可以直接使用7zip提供的DLL
Kayee2012 2013-04-25
  • 打赏
  • 举报
回复
引用 3 楼 ccrun 的回复:
引用 2 楼 sololie 的回复:7z要许可码? 7zip是免费并且开源的,无需商业许可就可以目田的使用。
我在纠结是该用7zip的源码还是直接用程序……
ccrun.com 2013-04-25
  • 打赏
  • 举报
回复
引用 2 楼 sololie 的回复:
7z要许可码?
7zip是免费并且开源的,无需商业许可就可以目田的使用。
sololie 2013-04-24
  • 打赏
  • 举报
回复
7z要许可码?
ccrun.com 2013-04-24
  • 打赏
  • 举报
回复
光复制一个winrar.exe是不行的,WinRAR是商业软件,在目标机器上需要有合法的许可才能正常工作。

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧