Board logo

标题: [文件操作] 【已解决】求助批处理如何一键批量解压rar、zip、7z [打印本页]

作者: jave000    时间: 2021-12-4 19:53     标题: 【已解决】求助批处理如何一键批量解压rar、zip、7z

我看了论坛有批量解压的批处理代码,我也使用了rar的,只解压出了一部分rar。
但是我下载了很多资料,他们都是各种各样的压缩包。
请问怎么才能批处理把它们全部解压到所在文件夹,并以压缩包名为子文件夹名?
该所在文件夹里除了一堆压缩包只有一个bat文件。
我安装了7z,这些压缩包我都能打开。



才发现这是一个没有需求的代码,只要全选压缩包,选择提取到“*\”就行了……
作者: Fit    时间: 2021-12-4 21:22

@echo off
rem 下面变量是你的7z程序的绝对路径,自己填写(例如set "7z=C:\01_MyApp\7-Zip\7z.exe")
set "7z="
for %%i  in (*.*) do (
    if not "%%~xi"==".bat" (
        md %%i
        %7z% x %%i -o%%i\
    )
)
pasue
作者: Fit    时间: 2021-12-4 21:23

未测试,----------------------------
作者: Fit    时间: 2021-12-4 21:23

bat文件放在该所在文件夹里
作者: zhanglei1371    时间: 2021-12-4 21:55

使用bandzip,里面有个自动解压,能够实现没有目录自动创建目录,有目录的直接解压,不至于出现散碎文件
作者: jave000    时间: 2021-12-4 23:55

回复 2# Fit


    感谢帮助,失败了,只是创建了许多空文件夹,且和原来压缩包名称也不同。
作者: jave000    时间: 2021-12-4 23:56

回复 5# zhanglei1371


    听起来不错,我试试,谢谢
作者: Fit    时间: 2021-12-5 10:07

@echo off
rem 下面变量是你的7z程序的绝对路径,自己填写(例如set "7z=C:\01_MyApp\7-Zip\7z.exe")
set "7z="
for %%i  in (*.*) do (
    if not "%%~xi"==".bat"  %7z% x %%i -o"%%i"
)
pasue
作者: cmd1152    时间: 2021-12-6 19:40

本帖最后由 cmd1152 于 2021-12-6 19:45 编辑

回复 8# Fit


    发代码可以使用
  1. [code][代码][/code]
复制代码
注:本方法是通过插入ASCCII为2的符号实现显示Code中的Code,所以不要点击 复制代码 复制。




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