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

100元求助,批量压缩文件解压,重命名文件问题

  [复制链接]
发表于 2020-3-22 16:15:10 | 显示全部楼层 |阅读模式
现在我有上千个winrar压缩文件,winrar文件名是不规则,压缩文件里面有一级、二级、三级、四级文件夹等情况,里面含有一个或多个pd和/或word文件,现在我的需求:
1、批量解压到各自压缩包文件名下,这一步好办。
2、把解压后得到的pdf和/或word文件移动到压缩包解压后的单独文件夹里
3、再把pdf和或word文件重命名为文件夹名字,多个文件的分别命名为-1、-2、-3.......
压缩包文件结构见附图:

解压后并移动文件、重命名需求:
 楼主| 发表于 2020-3-22 16:25:48 | 显示全部楼层
请各位老铁们多多帮忙,可微信转账或支付宝转账,测试功能正常马上付款。测试文件包链接:https://pan.baidu.com/s/1FDjZqpvCVkG4uMFloIFB_Q
提取码:uot1
发表于 2020-3-22 17:22:59 | 显示全部楼层
本帖最后由 qazplm 于 2020-3-22 17:27 编辑
  1. @echo off
  2. rem 有问题,可加QQ956535081及时沟通
  3. set "exefile=C:\Program Files\WinRAR\WinRAR.exe"
  4. if not exist "%exefile%" (echo;"%exefile%" not found&goto end)
  5. for /f "delims=" %%a in ('dir /a-d/b/s *.rar ') do (
  6.     echo;"%%a"
  7.     "%exefile%" x -ibck -y "%%a" "%%~dpa#%%~na"
  8.     if not exist "%%~dpa%%~na" md "%%~dpa%%~na"
  9.     for /f "delims=" %%b in ('dir /a-d/b/s "%%~dpa#%%~na" 2^>nul') do (
  10.         call :loop "%%b" "%%~dpa%%~na" "%%~na"
  11.     )
  12.     rd /s /q "%%~dpa#%%~na"
  13. )
  14. :end
  15. cd /d "%~dp0"
  16. pause
  17. exit
  18. :loop
  19. set n=2
  20. set "newfile=%~2\%~3%~x1"
  21. :check
  22. if not exist "%newfile%" (goto break)
  23. set "newfile=%~2\%~3-%n%%~x1"
  24. set /a n+=1
  25. goto check
  26. :break
  27. move "%~1" "%newfile%"
  28. exit/b
复制代码
发表于 2020-3-22 19:39:26 | 显示全部楼层
本帖最后由 went 于 2020-3-22 19:41 编辑
  1. @echo off
  2. set "path=%path%;C:\Program Files\WinRAR"
  3. for /f "delims=" %%i in ('dir /b /a-d *.rar') do (
  4.         set /p=urar %%i  <nul
  5.         unrar e -ep -or -ad "%%i" >nul 2>nul
  6.         call :renFile "%%~i"
  7.         echo done.
  8. )
  9. pause&exit
  10. :renFile
  11. set "key=1"
  12. for /f "delims=" %%a in ('dir /b /a-d "%~n1" 2^>nul') do (
  13.         rename "%~n1\%%a" "%~n1%%~xa" 2>nul || (
  14.                 call rename "%~n1\%%a" "%~n1-%%key%%%%~xa"
  15.                 set /a "key+=1"
  16.         )
  17. )
复制代码
保存为bat放到rar文件目录下
 楼主| 发表于 2020-3-22 22:09:41 | 显示全部楼层
两位老铁的代码都可以正常运行,按先来先得原则,我建议qazplm分得70元,went分的30元,两位同意的话,请留下微信二维码或者支付宝,明天我再测试下,下午就付钱,谢谢!
发表于 2020-3-22 22:21:18 | 显示全部楼层
回复 5# liwan123

大家是冲着100来的,这样分开就不好,谁先解决给谁就行了,后者可以适当给点小费即可,付款扫我头像或加我Q
发表于 2020-3-22 23:29:00 | 显示全部楼层
回复 5# liwan123


    支付宝18281837522
 楼主| 发表于 2020-3-23 11:06:33 | 显示全部楼层
回复 6# qazplm
100元已发支付宝。
 楼主| 发表于 2020-3-23 11:07:08 | 显示全部楼层
回复 7# went
账号不存在,或对方关闭了通过手机号找到我隐私开关。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 04:11 , Processed in 0.018982 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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