Board logo

标题: :: 《RAR 自动分卷压缩助手》 第三版 [打印本页]

作者: qpqlqm6    时间: 2008-8-19 22:22     标题: :: 《RAR 自动分卷压缩助手》 第三版

:: 《RAR 自动分卷压缩助手》 第三版
::   《RAR 自动分卷压缩助手》  第三版
::  -------------------------------- 使用方法 -----------------------------  
::   
::     将需要打包的单个文件或者单个目录,托拽到本文件图标上面,
::     Auto_rar.bat 会自动调用 rar.exe, 将提交的文件或者目录分割成指定大小
::     的分卷rar压缩文件,并保存在指定的目录中。
::     对于提交的 7zip、rar、jpg 文件,Auto_rar.bat 只分卷打包,不压缩。
::  
::  Xunchi  http://www.xunchi.com  Email: xunchi.com@gmail.com  QQ: 27270164
::  感谢winzheng 网友 无奈何 指出bug、并提出解决方案。
@echo off
:: --------------------------------------------------------------------
::          设定文件分割之后放置的目录、设定要分割之后每卷的大小
::   
::    set BBSpath,设定文件分割之后放置的目录,结尾不能有“\”
::
::    set size=500k  表示分割成每卷 500k 大小;
::    set size=2m    表示分割成每卷 2M 大小;
::    set size=      没有赋值时,表示不分卷。
::                   注意:“k”、“m”不能大写,一定要小写,
::   
::    注意:赢政BBS 表示的附件可以是512K,实际只能上传 500K 的附件
:: --------------------------------------------------------------------
set size=500k
set BBSpath=c:\bbsup

if {%1}=={} goto readme
:: --------------------------------------------------------------------
::              定位 rar.exe 目录位置,请确认已经安装了Winrar
:: --------------------------------------------------------------------
del %temp%\Auto_rar_readme.txt >nul
del %temp%\$cd$.txt >nul
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 norar

:: --------------------------------------------------------------------
::           开始使用 rar.exe 分卷压缩目标文件
:: --------------------------------------------------------------------
:rarfile
:: ----------------------------------------------------
::    修正了文件名中包含“;” 出错的问题 wz
:: ----------------------------------------------------
FOR /F "delims=" %%i IN ('echo %*') DO set name=%%~ni
md %BBSpath%
md %BBSpath%\%name%
set ext=%~x1
:: -----------------------------------------------------------------
::     -m<n>   设置压缩模式:
::   -m0 存储;-m1 最快;-m2 较快; -m3 标准; -m4   较好; -m5 最好
:: ------------------------------------------------------------------
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 -------------------- %name% 分割纪录 -------------------- >>%BBSpath%\%name%\%name%_分割纪录.txt
@echo. >>%BBSpath%\%name%\%name%_分割纪录.txt
@echo %date%>>%BBSpath%\%name%\%name%_分割纪录.txt
@echo %time% 分割开始>>%BBSpath%\%name%\%name%_分割纪录.txt
@echo. >>%BBSpath%\%name%\%name%_分割纪录.txt
@echo 分割的原始文件为:>>%BBSpath%\%name%\%name%_分割纪录.txt
@echo ├→ %1>>%BBSpath%\%name%\%name%_分割纪录.txt
@echo │ >>%BBSpath%\%name%\%name%_分割纪录.txt
@echo 分割生成了以下文件,每个文件大小为 %size% :>>%BBSpath%\%name%\%name%_分割纪录.txt
:: --------------------
::     压缩开始了!
:: --------------------
"%rarpath%rar.exe" a  -ep1 -m%level% -v%size% %BBSpath%\%name%\%name%.rar %1
@FOR /r %BBSpath%\%name% %%I in (*.rar) DO (
@echo ├─ %%I>>%BBSpath%\%name%\%name%_分割纪录.txt
)
@echo │ >>%BBSpath%\%name%\%name%_分割纪录.txt
@echo %time% 分割完成。>>%BBSpath%\%name%\%name%_分割纪录.txt
@echo. >>%BBSpath%\%name%\%name%_分割纪录.txt
@echo 将以上文件上传到 BBS 吧!>>%BBSpath%\%name%\%name%_分割纪录.txt
@echo. >>%BBSpath%\%name%\%name%_分割纪录.txt
@echo ----------------------------- www.xunchi.com -------------------------- >>%BBSpath%\%name%\%name%_分割纪录.txt
@echo. >>%BBSpath%\%name%\%name%_分割纪录.txt
@echo. >>%BBSpath%\%name%\%name%_分割纪录.txt
@echo. >>%BBSpath%\%name%\%name%_分割纪录.txt
start explorer %BBSpath%\%name%
set name=
goto end

:: --------------------------------------------------------------------
::           系统中找不到 rar.exe 时候的错误提示
:: --------------------------------------------------------------------
:norar
del %temp%\Auto_rar_readme.txt >nul
@echo ================ 错误提示:================>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo 在您的电脑中没有找到 rar.exe 。>>%temp%\Auto_rar_readme.txt
@echo 请确认您已经安装了 Winrar 。>>%temp%\Auto_rar_readme.txt
@echo 请确认 %rarpath%rar.exe 文件是否存在。>>%temp%\Auto_rar_readme.txt
@echo 重新安装 Winrar 可以修复这个问题。>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo ============== 错误提示结束 ==============>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo         《RAR 自动分卷压缩助手》      www.xunchi.com >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo 问:这个小东西可以干啥呢?>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo    答: 使用 Winrar 自动将文件或者目录进行分卷打包成指定的大小,>>%temp%\Auto_rar_readme.txt
@echo         拖一下鼠标就可以搞定,方便快捷,上传到 BBS 更方便! >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo 问:既然已经安装了 Winrar,还要这个干啥?>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo    答: Winrar 不能对已经压缩过的文件进行分卷打包。>>%temp%\Auto_rar_readme.txt
@echo         这个小东西却可以,这个小工具操作也比winrar方便快捷。>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt   
@echo. >>%temp%\Auto_rar_readme.txt
@echo -------------------------------- 使用方法 ----------------------------- >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo    将需要打包的单个文件或者单个目录,托拽到 Auto_rar.bat 上面,>>%temp%\Auto_rar_readme.txt
@echo    Auto_rar.bat 会自动调用 rar.exe, 将提交的文件或者目录分割成指定大小>>%temp%\Auto_rar_readme.txt
@echo    的分卷rar压缩文件,并保存在指定的目录中。 >>%temp%\Auto_rar_readme.txt
@echo    对于提交的 7zip、rar、jpg 文件,Auto_rar.bat 只分卷打包,不压缩。 >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo        提示: 用记事本打开 Auto_rar.bat 文件,修改以下参数>>%temp%\Auto_rar_readme.txt
@echo             ┏━━━━━━━━━━━━━┓>>%temp%\Auto_rar_readme.txt
@echo             ┃   set size=500k          ┃>>%temp%\Auto_rar_readme.txt
@echo             ┃   set BBSpath=c:\bbsup   ┃>>%temp%\Auto_rar_readme.txt
@echo             ┗━━━━━━━━━━━━━┛>>%temp%\Auto_rar_readme.txt
@echo        可以设置分卷的大小,以及分卷文件保存的位置。>>%temp%\Auto_rar_readme.txt
@echo        Auto_rar.bat 文件中包含详细的设置指南。>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo ----------------------------- www.xunchi.com -------------------------- >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo 注意问题:>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo 1、这个小工具需要调用 rar.exe,确认您已经安装了 Winrar。>>%temp%\Auto_rar_readme.txt
@echo 2、提交的文件名或者目录名不能包含有“;”小分号。>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
start notepad.exe %temp%\Auto_rar_readme.txt
goto end

:: --------------------------------------------------------------------
::                    没有提交文件时,弹出的使用说明
:: --------------------------------------------------------------------
:readme
del %temp%\Auto_rar_readme.txt >nul
@echo         《RAR 自动分卷压缩助手》      www.xunchi.com >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo 问:这个小东西可以干啥呢?>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo    答: 使用 Winrar 自动将文件或者目录进行分卷打包成指定的大小,>>%temp%\Auto_rar_readme.txt
@echo         拖一下鼠标就可以搞定,方便快捷,上传到 BBS 更方便! >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo 问:既然已经安装了 Winrar,还要这个干啥?>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo    答: Winrar 不能对已经压缩过的文件进行分卷打包。>>%temp%\Auto_rar_readme.txt
@echo         这个小东西却可以,这个小工具操作也比winrar方便快捷。>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt   
@echo. >>%temp%\Auto_rar_readme.txt
@echo -------------------------------- 使用方法 ----------------------------- >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo    将需要打包的单个文件或者单个目录,托拽到 Auto_rar.bat 上面,>>%temp%\Auto_rar_readme.txt
@echo    Auto_rar.bat 会自动调用 rar.exe, 将提交的文件或者目录分割成指定大小>>%temp%\Auto_rar_readme.txt
@echo    的分卷rar压缩文件,并保存在指定的目录中。 >>%temp%\Auto_rar_readme.txt
@echo    对于提交的 7zip、rar、jpg 文件,Auto_rar.bat 只分卷打包,不压缩。 >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo        提示: 用记事本打开 Auto_rar.bat 文件,修改以下参数>>%temp%\Auto_rar_readme.txt
@echo             ┏━━━━━━━━━━━━━┓>>%temp%\Auto_rar_readme.txt
@echo             ┃   set size=500k          ┃>>%temp%\Auto_rar_readme.txt
@echo             ┃   set BBSpath=c:\bbsup   ┃>>%temp%\Auto_rar_readme.txt
@echo             ┗━━━━━━━━━━━━━┛>>%temp%\Auto_rar_readme.txt
@echo        可以设置分卷的大小,以及分卷文件保存的位置。>>%temp%\Auto_rar_readme.txt
@echo        Auto_rar.bat 文件中包含详细的设置指南。>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo ----------------------------- www.xunchi.com -------------------------- >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo 注意问题:>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo 1、这个小工具需要调用 rar.exe,确认您已经安装了 Winrar。>>%temp%\Auto_rar_readme.txt
@echo 2、提交的文件名或者目录名不能包含有“;”小分号。>>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
@echo. >>%temp%\Auto_rar_readme.txt
start notepad.exe %temp%\Auto_rar_readme.txt
goto end
:end
set size=
set BBSpath=
set name=
set rarpath=




欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com/) Powered by Discuz! 7.2