找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25370|回复: 6

[文件操作] [已解决]批处理如何实现全盘搜索多个指定rar压缩文件并解压?

[复制链接]
发表于 2016-8-17 09:22:14 | 显示全部楼层 |阅读模式
本帖最后由 ygqiang 于 2016-8-17 15:54 编辑

[已解决]批处理,搜索特定目录下的rar压缩文件,解压缩。如果修改为:搜索所有盘符?
  1. @echo off
  2. if "%1" == "h" goto begin
  3. mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
  4. :begin
  5. rem 下边开始写批处代码了



  6. echo 保存文件执行路径
  7. pushd "%~dp0"


  8. set "fdir=0-0朗科06"
  9. set files=00-00robocopy.rar 备份exe.rar 显示桌面.rar curl.rar devcon.rar dowld.rar grep.rar robocopy.rar sed.rar SETRES.rar VBScript.rar

  10. if exist "C:\Program Files\WinRAR\WinRAR.exe" set "rar=C:\Program Files\WinRAR\WinRAR.exe"
  11. if exist "C:\Program Files (x86)\WinRAR\WinRAR.exe" set "rar=C:\Program Files (x86)\WinRAR\WinRAR.exe"
  12. echo %rar%



  13. for %%a in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  14. fsutil fsinfo volumeinfo %%a:\ | findstr "错误" >nul && echo %%a不可读取 || echo %%a可读取 && (


  15.         for /f "delims=" %%b in ('dir /ad/b/s %%a:\^|findstr "\\%fdir%$"') do (
  16.             cd /d "%%b"
  17.             for /f "delims=" %%c in ('dir /a-d/b/s %files%') do (
  18.                 echo;%%c
  19.                 "%rar%" x -y -ibck "%%c" "%%~dpc"
  20.             )
  21.         )


  22. )
  23. )

  24. cls

  25. echo 恢复文件执行路径
  26. popd

  27. cls
  28. ping 127.0.0.1 -n 5 >nul 2>nul
  29. exit
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2016-8-17 13:00:24 | 显示全部楼层
第22行不是已经实现这个功能了吗
 楼主| 发表于 2016-8-17 13:20:26 | 显示全部楼层
回复 2# Batcher


    26-30这段代码,如何修改呢?
发表于 2016-8-17 13:35:49 | 显示全部楼层
回复 3# ygqiang


修改的目的是什么?
代码报错了?代码的功能跟你的预期不一致?
 楼主| 发表于 2016-8-17 13:38:11 | 显示全部楼层
回复 4# Batcher


    1楼的代码功能:如果某个盘符下有“0-0朗科06“目录,才会搜索这个目录下的rar文件并解压缩。
需要的功能:搜索所有盘符下的rar文件并解压缩。
发表于 2016-8-17 14:26:22 | 显示全部楼层
26~32改成:
  1. pushd "%%a:"
  2. for /f "delims=" %%c in ('dir /a-d/b/s %files%') do (
  3.     echo;%%c
  4.     "%rar%" x -y -ibck "%%c" "%%~dpc"
  5. )
  6. popd
复制代码
 楼主| 发表于 2016-8-17 15:53:21 | 显示全部楼层
回复 6# GNU


    多谢。测试通过。。搞定了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:46 , Processed in 0.020434 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表