标题: [文件操作] 【已解决】请教批处理如何把子文件夹中的文件压缩到压缩包中? [打印本页]
作者: 漫天星光 时间: 2022-12-21 00:40 标题: 【已解决】请教批处理如何把子文件夹中的文件压缩到压缩包中?
本帖最后由 漫天星光 于 2022-12-21 11:41 编辑
比如3个文件夹,里面分别有3个文件,现在想实现的效果是批量压缩成3个压缩包,每个压缩包里面没有文件夹,直接是文件夹中的文件。
之前在这里学习的代码是分别压缩三个文件夹,请大神指点下如何修改下代码,谢谢!- @echo off
- set "程序=C:\Program Files\7-Zip\7z.exe"
- cd /d %~dp0
- for /d %%i in (*) do "%程序%" a "%%i.zip" "%%i"
复制代码
作者: 77七 时间: 2022-12-21 02:14
本帖最后由 77七 于 2022-12-21 02:21 编辑
- @echo off
- set "程序=C:\Program Files\7-Zip\7z.exe"
- cd /d %~dp0
- for /f "delims=" %%i in ('dir /b /ad') do (
- pushd "%%i"
- for /f "delims=" %%a in ('dir /b /a-d') do (
- "%程序%" a "%%~na.zip" "%%a"
- rem move "%%~na.zip" ..
- )
- popd
- )
- pause
复制代码
去掉rem = 移动压缩包到bat所在目录
照抄管理员大佬的答案... ( http://bbs.bathome.net/viewthread.php?tid=59672&;highlight=%D1%B9%CB%F5 )
站内搜索 压缩 "结果: 找到 “压缩” 相关主题 300 个" 有300主题......
作者: Batcher 时间: 2022-12-21 10:01
回复 2# 77七
这样可以减少一层for循环- @echo off
- REM 根据自己电脑实际情况设置 7-Zip 的路径
- set "My7z=C:\Program Files\7-Zip\7z.exe"
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /ad') do (
- "%My7z%" a "%%~nxi.zip" ".\%%i\*"
- )
复制代码
作者: 77七 时间: 2022-12-21 10:51
回复 3# Batcher
谢谢管理员大佬指教!
我试验了一下,效果有点不一样,一个是单独压缩了文件夹下的每个文件,一个是压缩了整个文件夹
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |