写一个批处理,目的是将压缩包内的文件复制到指定的文件夹中

 我来答
天府第一宝
2011-02-23 · TA获得超过656个赞
知道小有建树答主
回答量:731
采纳率:0%
帮助的人:176万
展开全部
xe来完成的
这个程序的命令行参数很丰富
直接在命令行输入"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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
红杏白梨0p
2011-02-23 · TA获得超过135个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:87万
展开全部
"%programfiles%\winrar\rar.exe" x 压缩包.rar * d:\test\
追问
能写详细点吗,比如说,在E盘下有个a.rar,里面有个文件b,想把b复制到D盘的test文件夹中
追答
"%programfiles%\winrar\rar.exe" x E:\a.rar b d:\test\
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式