[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 idwma 于 2021-12-31 17:50 编辑

回复 8# 5i365


    1.%a%改成!a!,&之间可能还要用()括起来
2.
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /ad') do "C:\Program Files\7-Zip\7z.exe" a "%%i.7z" ".\%%i\*" -p123 -v1023m
  3. pause
复制代码

TOP

本帖最后由 5i365 于 2021-12-31 08:10 编辑

回复 7# idwma


    你好, 刚刚测试了一下, 发现两个小问题:
1. 因为目标软件只能执行一行批处理命令, 所以我用&把所有cmd命令并在一行当中, 可以执行,但是和不并之前, 压缩的结果完全不同, 把批处理文件和当前文件夹下的文件夹打包了
@echo off&setlocal enabledelayedexpansion & for /f "delims=" %%i in ('dir /b /ad') do set "a=!a! ".\%%i\*"" & "C:\Program Files\7-Zip\7z.exe" a ab.7z %a% -p123 -v10m

2. 批处理中的压缩文件名是ab.7z  怎样用一级文件夹的名字做压缩文件名?
例如:
批处理7z.bat所在的文件夹下,
有A B C ... 多个1级文件夹,
A文件夹中,有A1  A2  A3 .... 多个二级文件夹
同样:
B文件夹中,有B1  B2  B3 .... 多个二级文件夹
......
批处理双击后,
将A文件夹下的所有二级文件夹打包到A.7z中 打包参数 -p123 -v10m
将B文件夹下的所有二级文件夹打包到B.7z中 打包参数 -p123 -v10m
......
当我打开A.7z压缩包后, 直接能看到的是 A1 A2 A3文件夹, 而不是A文件夹 ,其它压缩文件也一样

TOP

回复 6# 5i365
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /ad') do set "a=!a! ".\%%i\*""
  4. "C:\Program Files\7-Zip\7z.exe" a ab.7z %a% -p123 -v1023m
  5. pause
复制代码

TOP

回复 5# idwma


    文件夹名中还有空格的情况,

TOP

回复 4# 5i365
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /ad') do set "a=!a! .\%%i\*"
  4. echo %a%
  5. pause
复制代码

TOP

本帖最后由 5i365 于 2021-12-25 18:59 编辑

回复 3# idwma


上面A和B是已知的文件夹名,
如果在不知道1文件夹下一级子文件夹数量和名字的情况下, 怎么处理? 我是把批处理放到桌面上的, 桌面上有文件夹1 ,里面有子文件夹A, B, C, D.......

那就得这么长了, 怎样生成这么长的命令?

"C:\Program Files\7-Zip\7z.exe" a ab.7z .\1\A\* .\1\B\* .\1\C\* .\1\D\*    ........

TOP

  1. "C:\Program Files\7-Zip\7z.exe" a ab.7z .\a\* .\b\*
复制代码
1

评分人数

TOP

找到了分卷参数 -v1023m

TOP

返回列表