分享

(转) 用 CMD 命令解压缩文件 rar

 bubbi7 2017-01-15
用 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 解压到本目录就不会产生子文件夹,而是一堆文件

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多