用C语言如何对文件进行压缩
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用C语言如何对文件进行压缩相关的知识,希望对你有一定的参考价值。
参考技术A winrar软件安装后,所在的安装目录下有个rar.exe,开一个命令窗口到该目录下运行rar/?就能看到用法了,在你的程序里面调用它的相应命令行是最简单的方法,自己编写压缩算法的话,先不谈效率,起码算法就是相当复杂的了
BAT批处理对A目录下的所有文件夹分别进行RAR分卷压缩
BAT批处理对A目录下的所有(进入)文件夹分别进行RAR分卷压缩,并将分卷压缩文件保存到D盘;
其中的一个分卷压缩(*)part1.rar固定大小为1MB;
需要注意的是(进入)文件夹分别进行RAR分卷压缩,而不是对文件夹进行RAR分卷压缩
原来的提问有了相关答案 但还不够完美
百度知道一下:
如何使用BAT批处理对大量文件夹进行批量RAR分卷压缩
cd /d "C:\temp"
REM 保存的目录
SET saveTo=d:\myrar
REM WinRar在哪
SET rar="C:\Program Files (x86)\WinRAR\WinRAR.exe"
REM 不存在则创建,也可以变成存在则先删除
IF NOT EXIST "%saveTo%" mkdir "%saveTo%"
REM 下面的命令,得到目录列表
REM %%a写法中注意命令行和.bat文件中的区别:
REM 命令行中只要一个%、.bat中要两个的。
for /d %%a IN ( * ) DO (
ECHO "%saveTo%\%%a.rar"
%rar% a -r -v1m -s -y -m5 -ilog%saveTo%\rar.log "%saveTo%\%%a.rar" "%%a"
)
RAR命令行的用法,参考RAR使用说明,打开WINRAR、帮助、说明主题、命令行模式,即看到,基本每个命令有例子,好容易上手的。追问
看不懂 能不能帮我做个现成的BAT
注明使用说明即可
拜托了
这个是非常现成的.bat了!
追问这个bat已经测试过了,是对文件夹进行分卷压缩的 我需要的是进入文件夹对文件夹里面的文件进行分卷压缩。
另外你的分卷压缩(*)part1.rar不是固定大小为1MB,而是平均分卷压缩大小为1MB的;
能不能修改下?
例如:一个文件夹100MB,进行分卷压缩后其中的(*)part1.rar=1MB (*)part2.rar=99NB
将D:\A下子目录的所有文件分别压缩,压缩名为子目录文件名,压缩文件存放到D:\result\目录中
我没测试,只用原来的代码,修改了部分参数,去掉压缩文件中的一级目录
@echo off
if not exist rar.exe echo 请将批处理与Rar.exe放在同一个目录中。&pause&goto :eof
pushd D:\A\
for /d %%i in (*) do rar a -v1m -v -r -ep1 "D:\result\%%i" "%%i"
popd
pause 参考技术C OK
已经搞定了 我是问题提问者 参考技术D 疑问:是不是A目录下有很多文件夹,然后这很多文件夹下又有很多 文件夹或文件?
对其中的 文件或文件夹 进行压缩呢?追问
是的,你能帮助我吗?
以上是关于用C语言如何对文件进行压缩的主要内容,如果未能解决你的问题,请参考以下文章