标题: [文件操作] 【已解决】求助批处理解压二级文件夹里的压缩文件 [打印本页]
作者: sv5253 时间: 2024-3-19 13:45 标题: 【已解决】求助批处理解压二级文件夹里的压缩文件
本帖最后由 sv5253 于 2024-3-19 17:15 编辑
问题描述:一级文件夹里有多个二级文件夹,二级文件夹里面是.zip的压缩文件,目的将压缩文件解压删除源文件,将压缩文件的内容往外拿一层
例如:
1\1.1.zip(1.txt)
2\2.2.zip(2.txt)
修改成
1\1.txt
2\2.txt
进行批量操作删除中间冗余文件夹- @echo off
- cd /d "%~dp0"
- set "path=D:\Program Files\WinRAR;%path%"
- for /d %%d in (*) do (
- for /f "delims=" %%i in ("%%d\*.zip") do (
- WinRAR.exe x "%%i" "%%~ni\" && del %%i
- )
- )
- for /d %%d in (*) do (
- for /d %%e in ("%%d\*") do (
- robocopy "%%e" "%%d" /e /move /xc /xn /xo
- )
- )
- pause
复制代码
我试着写了一个程序,有些繁琐,请帮我指点简化一下,或者有没有更好的方式
作者: 77七 时间: 2024-3-19 15:48
- @echo off
- cd /d "%~dp0"
- set "path=D:\Program Files\WinRAR;%path%"
- for /d %%d in (*) do (
- for /f "delims=" %%e in ('dir /b /a-d "%%d\*.zip" 2^>nul') do (
- winrar.exe x "%%d\%%e" "%%d" && del "%%d\%%e"
- )
- )
- pause
复制代码
作者: sv5253 时间: 2024-3-19 16:39
本帖最后由 sv5253 于 2024-3-19 16:51 编辑
回复 2# 77七
这个程序运行以后不是预期效果,直接解压到一级文件夹里面,解压完以后有一个二级文件夹存在
结果:
1\1.1\1.txt
2\2.2\2.txt
不是预期结果
1\1.txt
2\2.txt
作者: 77七 时间: 2024-3-19 17:02
回复 3# sv5253
你压缩文件本来就压缩的是一个文件夹,解压出来是文件夹,这是对的。应该就没有什么好精简的了,只能通过批处理再次移动。
如果你只想提取压缩文件里的内容,不保留目录结构,可以把 x 换成 e 试试
作者: sv5253 时间: 2024-3-19 17:14
本帖最后由 sv5253 于 2024-3-19 17:27 编辑
回复 5# 77七
可以的,忽略目录可以用。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |