中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-14 14:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何调用rar.exe分卷压缩并添加注释?
楼 主 如何调用rar.exe分卷压缩并添加注释? 发表于 2010-05-13 11:56 ·  中国 广东 深圳 电信
初级用户
积分 64
发帖 30
注册 2007-03-26 06:39
UID 82946
性别 男
状态 离线
网上找了个使用批处理调用RAR压缩并分割文件的批处理--RAR自动分卷压缩助手,但是唯一的不足就是没有添加注释功能。

贴出截取的代码片段
@echo off
set size=500k
set BBSpath=c:\bbsup

if {%1}=={} goto readme

echo:: --------------------------------------------------------------------
echo:: 定位 rar.exe 目录位置,请确认已经安装了Winrar
echo:: --------------------------------------------------------------------
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.rar\ShellNew" /v "FileName">%temp%\$cd$.txt
for /f "skip=4 tokens=3 delims= " %%i in (%temp%\$cd$.txt) do set rarpath=%%~dpi
del %temp%\$cd$.txt

if exist "%rarpath%rar.exe" goto rarfile
if exist "%ProgramFiles%\winrar\rar.exe" set rarpath=%ProgramFiles%\winrar\
if not exist "%ProgramFiles%\winrar\rar.exe" goto exit

echo:: --------------------------------------------------------------------
echo:: 开始使用 rar.exe 分卷压缩目标文件
echo:: --------------------------------------------------------------------
:rarfile
FOR /F "delims=" %%i IN ('echo %*') DO set name=%%~ni
md %BBSpath%
md %BBSpath%\%name%
set ext=%~x1
echo:: -----------------------------------------------------------------
echo:: -m<n> 设置压缩模式:
echo:: -m0 存储;-m1 最快;-m2 较快; -m3 标准; -m4 较好; -m5 最好
echo:: ------------------------------------------------------------------
set level=5
if {%ext%}=={.7z} set level=0
if {%ext%}=={.7Z} set level=0
if {%ext%}=={.rar} set level=0
if {%ext%}=={.RAR} set level=0
if {%ext%}=={.jpg} set level=0
if {%ext%}=={.JPG} set level=0

echo:: --------------------
echo:: 压缩开始了!
echo:: --------------------
"%rarpath%rar.exe" a -ep1 -m%level% -v%size% %BBSpath%\%name%\%name%.rar %1

:end
set size=
set BBSpath=
set name=
set rarpath=
set level=


将此段"%rarpath%rar.exe" a -ep1 -m%level% -v%size% %BBSpath%\%name%\%name%.rar %1

改成
set test=C:\Program Files\WinRAR\1.txt
"%rarpath%rar.exe" a -ep1 -m%level% -v%size% -z"%test%" %BBSpath%\%name%\%name%.rar %1

结果只给第一个分卷添加了注释,其它的都没加上,不知何解?难道需要循环添加?

如何给需要压缩的文件或文件夹分卷且给每个分卷添加上注释?请各位网友完善下,谢谢!

[ Last edited by Mxark on 2010-5-14 at 13:43 ]
2 发表于 2010-05-13 20:25 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
1,因为分卷压缩文件修改是禁用的,所以不可以为分卷压缩追加注释。
2,注释仅保存在第一分卷上。
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
Mxark +1 2010-05-14 13:42
3 发表于 2010-05-14 13:42 ·  中国 广东 深圳 电信
初级用户
积分 64
发帖 30
注册 2007-03-26 06:39
UID 82946
性别 男
状态 离线
原来如此。谢谢!
4 发表于 2010-06-24 23:47 ·  中国 江苏 苏州 电信
新手上路
积分 3
发帖 3
注册 2009-11-03 12:27
UID 154088
性别 男
状态 离线
学习了,谢谢提供
论坛跳转: