将如下的代码保存成为bat格式的文件即可。
@echo off
title 大众--批量压缩文件
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 *********************************************************
SetLocal EnableDelayedExpansion
rem 用dir命令列出当前目录下的所有rar文件的文件名
rem 并把它发送到for循环中,然后在for循环中调用解压的子过程
for /f "delims=" %%i in ('dir *.rar /a /b') do call :ss %%i
cls
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
echo.
echo 操作成功结束,请按任意键退出该批处理...
echo.
echo ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
PAUSE>nul
exit
:ss
set var=%*
rem 即 rar x 压缩文件的文件名
"%WinRAR%\rar" x %var% %var:~0,-4%
EndLocal
应用范围:针对同一目录下(不包含父级文件夹)的所有rar压缩文件。