Board logo

标题: [文件操作] 【已解决】批处理如何批量将子文件夹里的压缩包各自解压到所在的子文件夹里? [打印本页]

作者: 爱琴海不会走    时间: 2015-4-21 11:05     标题: 【已解决】批处理如何批量将子文件夹里的压缩包各自解压到所在的子文件夹里?

本帖最后由 pcl_test 于 2016-5-6 22:00 编辑

在某个文件夹下有很多子文件夹,每个子文件夹下有很多压缩包,我写了个批处理解压缩的bat放在该文件夹下,无法运行,只有放在子目录下才能运行,求大大给我修改下,对循环不懂啊!!!
  1. echo
  2. set path=%path%;c:\programfiles\winrar
  3. rar x *.rar
  4. pause
复制代码

作者: Batcher    时间: 2015-4-21 12:27

  1. @echo off
  2. set "path=%path%;C:\Program Files\WinRAR"
  3. for /f "delims=" %%i in ('dir /b /s /a-d *.rar') do (
  4.     rar x "%%i"
  5. )
  6. pause
复制代码

作者: 爱琴海不会走    时间: 2015-4-21 13:57

回复 2# Batcher


    谢谢!!!我刚运行了可以实现,但是我发现这样就把所有压缩包解压到了一个目录下了,我是想让子目录下的压缩包解压到子目录文件夹里面。。。。
假如在work文件夹下有111、222两个文件夹,111文件夹里有111.rar,222文件夹里有222.rar,运行批处理将111.rar解压到111文件夹,222.rar解压到222.rar,而上面的代码是将所有压缩包解压到了work目录下。

原谅我没有说明要求,再次谢谢Batcher大大!!!!
作者: gawk    时间: 2015-4-21 15:47

  1. @echo off
  2. set "path=%path%;C:\Program Files\WinRAR"
  3. for /f "delims=" %%i in ('dir /b /s /a-d *.rar') do (
  4.     pushd "%%~dpi"
  5.     rar x "%%i"
  6. )
  7. pause
复制代码

作者: 爱琴海不会走    时间: 2015-4-21 15:58

回复 4# gawk


    谢谢大大!!!
作者: 爱琴海不会走    时间: 2015-4-21 16:01

谢谢各位大大,我的问题解决了,标记已解决是我来操作还是管理员来操作?是我来操作的话怎么操作。。。
(新人勿喷。)
作者: gawk    时间: 2015-4-21 16:03

回复 6# 爱琴海不会走


    顶楼左下角有个“编辑”
作者: 爱琴海不会走    时间: 2015-4-21 16:17

回复 7# gawk


Thx
作者: 阶梯clan    时间: 2016-12-8 22:49

@echo off
set "path=%path%;D:\Program Files (x86)\"
for /f "delims=" %%i in ('dir /b /s /a-d *.rar') do (
    pushd "%%~dpi"
    rar x  -ad -y "%%i"
)
pause




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2