阅读背景:

急求:批处理调用winrar解压当前目录下所有rar文件.如何让解压出来只包含一级目录?

来源:互联网 
我某文件夹下面是几百个rar文件, 每个rar文件里面都是一个文件夹(然后里面是具体比如一堆txt文件). 也就是说rar文件是比如c:
我某文件夹下面是几百个rar文件, 每个rar文件里面都是一个文件夹(然后里面是具体比如一堆txt文件). 也就是说rar文件是比如c:\1\   c:\2\     ....这样每个文件夹打包做成的, rar文件名就是1.rar   2.rar  ...... 

下面这个批处理,可以解压当前目录下所有rar文件. 但是解压出来会有两级目录. 也就是解压出来会是比如(举例我解压到d:\下面) d:\1\1      d:\2\2\

问题是:我不要那级冗余的目录, 我要解压出来只是d:\1    d:\2    .  求教要怎么可以达成呢? 如果VB代码调用winrar能达成这个目的也行.主要就是能批量自动解压当前目录下所有rar文件,然后不要多级目录. 多谢!
@echo off
set "rar=F:\WinRAR\WinRAR.exe"
"%rar%" x -ad -y *.rar
pause

3 个解决方案

#1


在 Dir 函数轮询支持下,用 Rename 函数将文件一一移到以及目录下,然后用 RmDir 函数将空的二级目录一一删除。

#2


-ad 去掉,这是“添加压缩文件名到目标路径”。

#3


引用 2 楼 Tiger_Zhao 的回复:

-ad 去掉,这是“添加压缩文件名到目标路径”。
哇 这个一击必杀.非常感谢! 
也感谢of123大侠

\   c:\     ....这样每个文件夹打包做成的, rar文件名就是1.rar   2.rar  ......  我某文件夹下面是几百个rar文件, 每个rar文件里面都是一个文件夹(然后里面是具体比如一堆t



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: