怎么用批处理解压压缩包到当前文件夹中?

压缩包ed.rar在D盘的bc文件夹中,批处理用什么命令才可以把它解压到当前文件夹中?顺便解释一下每行的意思。... 压缩包ed.rar在D盘的bc文件夹中,批处理用什么命令才可以把它解压到当前文件夹中?顺便解释一下每行的意思。 展开
 我来答
CyraSafia
2009-04-24 · TA获得超过1940个赞
知道大有可为答主
回答量:945
采纳率:0%
帮助的人:1284万
展开全部
是利用winrar自带的一个命令行工具rar.exe来完成的
这个程序的命令行参数很丰富
直接在命令行输入"c:\program files\winrar\rar.exe"(假如你的rar是装在默认位置的话)

下面的批处理程序以一堆冒号为分界,分为三段

第一段,根据.rar文件的文件关联找到rar的安装目录
这里用到了ftype命令
在命令行中输入ftype就可以查看所有的文件关联信息
这里我们只关注Winrar
所以辅助了一个通道命令|find找到winrar所在的行

然后调用了一个叫做:getrarpath的子程序
这个子程序在第三段做了定义
它将path变量暂时设成了winrar的安装目录
path变量有什么用呢?当你输入一个程序名,没有路径时,系统会在当前路径和path指定的文件夹下寻找
这样我们输入rar.exe,系统就会自动在当前目录和C:\program files\winrar\下寻找rar.exe。这么写纯粹是为了用起来方便

第二段只有一句话
用到了rar.exe的e参数,即解压。可以指定路径,如
rar e d:\bc\ed.rar d:\test\
不指定的话则解压到当前目录

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
setlocal
for /f "delims== tokens=1,*" %%a in ('ftype^|find /i "winrar="') do call:getrarpath %%b
if not exist "%path%\rar.exe" echo 找不到WinRAR&exit /b
::根据.rar的文件关联查找rar所在的路径

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

rar e d:\bc\ed.rar
::解压d:\bc\ed.rar到当前目录。当前目录指的是cmd的工作目录

exit /b

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:getrarpath
::将工作路径path设为winrar所在目录
path %~dp1
exit /b
youkaib
2009-04-24 · TA获得超过554个赞
知道小有建树答主
回答量:792
采纳率:0%
帮助的人:414万
展开全部
start winrar x d:\dc\ed.rar -y "%cd%"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式