批量压缩文件- @echo off
- title 忆林子--批量压缩rar文件
- color 0a
- rem *********************************************************
- rem 在注册表中读取winrar的安装目录
- rem 如果已经存在临时文件,把它删除
- if EXIST tmp.忆林子 del tmp.忆林子
- rem 查询注册表中的winrar的路径值,并把它发送到临时文件中
- reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe" /v path>>tmp.忆林子
- rem 用For命令从临时文件中读取winrar的路径值,并把它保存到变量 WinRAR 中
- for /f "tokens=1,2,* skip=4 delims= " %%j in ('more tmp.忆林子') do set WinRAR=%%l
- rem 如果已经存在临时文件,把它删除
- if EXIST tmp.忆林子 del tmp.忆林子
- rem *********************************************************
- rem 用dir命令列出当前目录下的所有目录
- rem 并把它发送到for循环中,然后在for循环中调用压缩的子过程
- for /f "delims=" %%i in ('dir /ad /b') do call :ss %%i
- cls
- echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- echo.
- echo 操作成功结束,请按任意键退出该批处理...
- echo.
- echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
- PAUSE>nul
- exit
- :ss
- set var=%*
- rem 即 rar a -r 压缩后的文件名.rar 目录名
- "%WinRAR%\rar" a -r %var%.rar %var%
- EndLocal
复制代码 我从网上找到这个代码,bat 可以批量压缩每个文件夹到每个单独的压缩文件,问题是压缩时许多长文件名的文件夹无法识别,漏压很多文件夹,如何解决呢
[ 本帖最后由 csjssdhy 于 2009-7-6 10:27 编辑 ] |