[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理怎样把RAR自解压文件解压到当前文件夹?

例如我有两个自解压文件1.exe 9.exe 里面是1.txt  9.txt 没有文件夹的
用这条命令 for %%a in (*.exe) do "C:\Program Files\WinRAR\rar.exe" x "%%a"     可以解压到当前文件夹
但是我想解压出来有1的文件夹 里面有1.txt 有9的文件夹 里面有9.txt
请问这种要如何修改 使得解压出来的文件放在各自的文件夹里
也就是如何实现RAR中的解压到和文件名同名的文件夹
这种批处理该怎么实现 先谢谢了
测试文件 http://u.115.com/file/t25acc74f1
使用批处理后的效果 http://u.115.com/file/t2c641397e
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

6楼得代码测试成功了 7楼代码的也是不错的 7zip我比较少用 还是谢谢了

TOP

由于我的工作性质,我写了一个批处理,每一天生成以日期为目录的文件夹,我每天处理的邮件的文件都是以压缩格式放在FTP上的,我在下载完之后,在批处理里也对其进行解压操作,放在对应日期文件夹里的压缩包名称的文件夹下。比如有一个文件是20110429.rar的话,就会把RAR里的文件放在20110429的文件夹下,也许这个符合楼主的意思吧。

我用的是7zip。比如你在C盘下放了一些RAR文件。那么在C:\的目录下运行:
c:\progra~1\7-zip\7z.exe x *.rar -o*

就可以把所有对应的压缩包解压到以该压缩包为名字的文件夹下面。试一下吧。

TOP

本帖最后由 hanyeguxing 于 2011-4-29 21:09 编辑

楼主没有说清楚1这个目录名是根据1.txt创建还是根据1.exe创建?
如果是根据1.exe,则直接:
  1. "C:\Program Files\WinRAR\RAR.exe" x -ad *.exe
复制代码
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

2# Commander
可能我说的不够详细,让Commander误解了
我的意思是让1.exe解压出来能够生成1的文件夹和把1.exe里面的文件放进1的文件夹
1这个文件夹原本是没有的 要靠解压生成的
解压完后1.exe不用移动 就在原目录即可

TOP

3# zcdyj


把@echo off删掉,看看哪一步出错了。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

2# Commander

先谢谢Commander了 你的代码我试了不成功 不知道哪里出问题了

TOP

  1. @echo off
  2. for %%a in (*.exe) do (
  3.     "C:\Program Files\WinRAR\rar.exe" x "%%a"
  4. )
  5. for /f "delims=" %%a in ('dir /b /a-d') do (
  6.     if exist ".\%%~na\" (
  7.         move "%%a" ".\%%~na\"
  8.     )
  9. )
复制代码

TOP

返回列表