Board logo

标题: [文件操作] 【已解决】批处理怎样批量解压,把成功解压后的压缩包移动到某个文件夹中? [打印本页]

作者: pokalifor    时间: 2022-6-18 16:26     标题: 【已解决】批处理怎样批量解压,把成功解压后的压缩包移动到某个文件夹中?

本帖最后由 pokalifor 于 2022-7-1 14:39 编辑

我在一个文件夹下有好多压缩包.7z,解压密码也是不一样的,我想使用循环命令批量解压密码为“123456”的压缩包,

解压是直接解压到当前目录下,并非解压到创建压缩包命名的文件夹中,然后再把已成功解压的压缩包移动到“.\123”路径中,没有成功解压的不要移动。
作者: pokalifor    时间: 2022-6-18 16:27

望老师帮助指点一下。
作者: LJY4.0    时间: 2022-6-19 21:10

bat不能判断压缩包密码,三方也不行,只能全部解压,错误的不管他
作者: pokalifor    时间: 2022-6-25 00:55

bat不能判断压缩包密码,三方也不行,只能全部解压,错误的不管他
LJY4.0 发表于 2022-6-19 21:10


解压密码为123456的压缩包,使用 -p123456 就可以了,关键的是如何识别已经成功解密的压缩包,我想移动到某路径中区分开,没有成功解密的压缩包不要动。
作者: Batcher    时间: 2022-6-25 09:47

回复 1# pokalifor


请参考Q-04把bat文件保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. REM 根据自己电脑实际情况设置 7-Zip 的路径
  5. set "My7z=C:\Program Files\7-Zip\7z.exe"
  6. set "NewFolder=123"
  7. if not exist "%NewFolder%" (
  8.     md "%NewFolder%"
  9. )
  10. for /f "delims=" %%i in ('dir /b /a-d "*.7z"') do (
  11.     "%My7z%" x "%%i" -p123456 >nul 2>&1
  12.     if !errorlevel! equ 0 (
  13.         move /y "%%i" "%NewFolder%"
  14.     )
  15. )
复制代码

作者: pokalifor    时间: 2022-7-1 14:39

太好了,谢谢帮助!




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