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

[文件操作] 批量解压,并指定某个文件不解压

  1. @echo off   
  2. for %%a in (*.rar) do "C:\Progra~1\winrar\rar.exe" x -p123456 "%%a" "F:\bak"
  3. @pause  
复制代码
一直用这个批处理解压文件,不过不够智能,如每个压缩包都包含 广告.txt、广告.png
不想把这俩解压出来怎么处理,还有个问题,每个解压出来的文件夹名前两个是数字,要去掉。即去掉每个文件夹的前两个数字
谢谢

本帖最后由 apang 于 2013-1-10 23:26 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set "rar=%programfiles%\winrar\rar.exe"
  3. for %%a in (*.rar) do (
  4.   "%rar%" vb -e-d "%%a"|findstr /iv "广告.txt 广告.png">$
  5.   "%rar%" x "%%a" "F:\bak\" @$
  6. )
  7. del $
  8. for /f "delims=" %%a in ('dir /ad/b/s "F:\bak\"^|sort /r') do (
  9.   set "Name=%%~nxa"
  10.   for /f "delims=0123456789" %%b in ("$!Name:~,2!") do set "a=%%b"
  11.   if "!a!"=="$"  ren "%%a" "!Name:~2!"
  12. )
  13. pause
复制代码
修改文件夹名搞错了,已改正。
1

评分人数

TOP

测试可行 因为解压密码是一样的 能不能改为指定解压密码 不手动一个个输入了
要过滤掉的广告.txt、广告.png  可以输入三个吗 格式是什么
比如 A.png  B.url  C.html 删除每个压缩包中的这三个文件要怎么写 空格分开?
"%rar%" vb -e-d "%%a"|findstr /iv " A.png  B.url  C.html">$

TOP

用winrar自带的删除命令行不行

TOP

回复 4# mafeifan

在第5行的 x 后加 -p12345 就可以了(密码:12345)
排除多个,用空格隔开没错
在原始rar文件中删除也可以的,只是顶楼木有要求

TOP

返回列表