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

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

现在我有上千个winrar压缩文件,winrar文件名是不规则,压缩文件里面有一级、二级、三级、四级文件夹等情况,里面含有一个或多个pd和/或word文件,现在我的需求:
1、批量解压到各自压缩包文件名下,这一步好办。
2、把解压后得到的pdf和/或word文件移动到压缩包解压后的单独文件夹里
3、再把pdf和或word文件重命名为文件夹名字,多个文件的分别命名为-1、-2、-3.......
压缩包文件结构见附图:
[attach]12438[/attach][attach]12437[/attach][attach]12439[/attach],
解压后并移动文件、重命名需求:
[attach]12442[/attach]

请各位老铁们多多帮忙,可微信转账或支付宝转账,测试功能正常马上付款。测试文件包链接:https://pan.baidu.com/s/1FDjZqpvCVkG4uMFloIFB_Q
提取码:uot1

TOP

本帖最后由 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
复制代码
提供bat代写
QQ: 956535081

TOP

本帖最后由 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文件目录下

TOP

两位老铁的代码都可以正常运行,按先来先得原则,我建议qazplm分得70元,went分的30元,两位同意的话,请留下微信二维码或者支付宝,明天我再测试下,下午就付钱,谢谢!

TOP

回复 5# liwan123

大家是冲着100来的,这样分开就不好,谁先解决给谁就行了,后者可以适当给点小费即可,付款扫我头像或加我Q
提供bat代写
QQ: 956535081

TOP

回复 5# liwan123


    支付宝18281837522

TOP

回复 6# qazplm
100元已发支付宝。

TOP

回复 7# went
账号不存在,或对方关闭了通过手机号找到我隐私开关。

TOP

返回列表