> 用 CMD 命令解压缩文件 rar WinRAR <命令> -< 开关 1> -< 开关 N> < 压缩文件 > < 文件...> <@列表文件...> < 解压路径 \> 命令 E - 从压缩文件解压压缩,忽略路径 命令 X - 以完整路径名称从压缩文件解压压缩 开关 -O[+|-] - 设置覆盖模式 这个开关可以在解压和更新压缩文件时使用。下列模式可用: -o 覆盖前询问 (解压文件时默认) -o+ 覆盖所有 (更新压缩文件时默认); -o- 跳过已存在的文件。 系统自带 CMD 本身不支持 rar 的,你把你 winrar 目录里面的 RAR.exe 和 UNRAR 复制到 c:\windows 文件夹中,或者自己设置一下系统环境变量,把 winrar 的目录加进去。其实就是方便调用而已。
RAR.exe 负责的功能是压缩文件 UnRAR.exe 负责的功能则是解压缩文件 实例一下, 假设,D:\abc 文件夹下有个 a.rar 文件 你要把 a 文件解压到当前目录 你就在命令行里输入命令,unrar x(注释,命令 x 为使用绝对路径)D:\abc\a.rar(注释,这是你要解压的文件的绝对路径) D:\(注释,这个是你想解压的路径, 如果留空则默认解压到 %HOMEPATH% 目录) 如果你不想用绝对路径解压,在 cmd 中跳转到,rar 文件的目录下,改用命令 e, 继续以 D:\abc 文件夹下有个 a.rar 文件为例,你到了 abc 的目录下输入,unrar e a.rar(注释,这里用相对路径)D:\(注释这里依然是你想解压到得目录,但留空则解压到当前目录) 其次,rar 文件有密码,则加上开关 - p[] 例 unrar e -p[abc] a.rar d:\ 举一反三,解压中其他需求就加上它预设的开关就是了,压缩也是如此 例子: 在当前文件夹,从全部的 RAR 压缩文件解压所有的 *.doc 文件到当前文件夹 WinRAR e *.rar *.doc > 在 cmd 下解压 rar 文件 start winrar e c:\abc.rar 就可以了,不管你 winrar 装在哪里
> bat 文件 @echo off&color a set rarpath = 请将你要解压的压缩包拖放到这里: for /f "delims==" %%a in ('ftype|find"WinRAR"') do set rar=%%a set rar=%rar: "%1"=% %rar% x %rarpath%
将上述的代码用记事本保存为 bat 文件,双击执行,会将压缩包文件解压到 bat 文件所在的文件夹下; 本程序核心是依据 ftype 定位 WinRAR.exe 文件的所在位置,你可以依据你的实际需要把它改成函数。
本人用到的一句代码 unrar x -x@sa.txt *.rar *.txt sa\ 意思是把本目录下的所有 RAR 文件解压规则是排除掉 sa.txt 中记录的文件后所有的 txt 文件解压到 sa 目录下,这里用 x 解压到指定目录会连带压缩包里的目录结构一起解压,而用 e 解压到本目录就不会产生子文件夹,而是一堆文件
|