Board logo

标题: [文件操作] 【已处理】批处理怎样调用7zip批量压缩多个文件夹,并设置密码? [打印本页]

作者: lw121    时间: 2021-9-4 12:24     标题: 【已处理】批处理怎样调用7zip批量压缩多个文件夹,并设置密码?

本帖最后由 lw121 于 2021-10-2 21:03 编辑

文件夹有中文和空格,每个文件夹压缩成一个.7z压缩包,并设置密码

文件夹格式:
python基础教程 NO.001 数据类型和变量
python基础教程 NO.002 字符串和编码
python基础教程 NO.003 使用list和tuple
作者: smss    时间: 2021-9-4 12:40

http://zhannei.baidu.com/cse/sea ... mp;q=7z%D1%B9%CB%F5
使用搜索 自学成才
作者: lw121    时间: 2021-9-4 18:37

本帖最后由 lw121 于 2021-9-4 19:42 编辑

for /d %%X in (*) do "F:\7-Zip\7z.exe" a "%%~dpnX.7z" "%%X" -p123456 -mhe -mx=0
这个只能读取到NO,小数点后面的无法读取,会将所有内容压缩到 “python基础教程 NO.7z” 一个压缩包中
作者: Batcher    时间: 2021-9-5 11:03

回复 1# lw121
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /ad') do (
  4.     "C:\Program Files\7-Zip\7z.exe" a "%%i.7z" "%%i" -p123456
  5. )
复制代码

作者: lw121    时间: 2021-9-8 21:28

回复 4# Batcher


    谢谢大佬,还有个问题,如何批量在文件夹外面套一个文件夹,原文件夹 A ,  B   , C   , D,在 外面套一个文件夹,变成1/A,2/B, 3/C,   4/D
作者: Batcher    时间: 2021-9-8 23:39

回复 5# lw121
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. set "FolderCount=0"
  5. for /f "delims=" %%i in ('dir /b /ad') do (
  6.     set /a FolderCount+=1
  7.     set "NewFolder=套一个文件夹_!FolderCount!"
  8.     md "!NewFolder!"
  9.     move /y "%%i" "!NewFolder!"
  10. )
复制代码

作者: lw121    时间: 2021-9-9 20:02

回复 6# Batcher


    这个运行之后将所有文件夹移动到!NewFolder!文件夹中了
作者: Batcher    时间: 2021-9-9 21:59

回复 7# lw121


    代码已更新,你再试试
作者: jave000    时间: 2021-12-3 21:59

本帖最后由 jave000 于 2021-12-3 22:10 编辑

回复 8# Batcher


感谢版主,我也用上了,只是想问能否增加一个压缩后删除原文件夹
作者: Batcher    时间: 2021-12-4 14:45

回复 9# jave000


7z命令后面加一个 -sdel 参数
更多参数的用法请参考帮助文档 7-zip.chm
作者: jave000    时间: 2021-12-4 19:25

回复 10# Batcher


    谢谢版主,我看看




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