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

[文件操作] [已解决]求精减批处理用7Z压缩拖入文件夹下子文件夹

本帖最后由 smss 于 2019-5-11 20:43 编辑

用7Z压缩拖入文件夹下子文件夹
如果用for /d %%i in (*) do "%zip%" a "%1\%%i.zip" "%%i" 得到的是含子文件目录的压缩包 只能用最笨的方法逐个CD到对应文件夹再执行压缩命令 于是就有了如下的
  1. if exist %1\clock_2x4 (cd %1\clock_2x4&for /d %%i in (*) do "%zip%" a "%1\A\clock_2x4.zip" "%%i")
  2. if exist %1\com.android.calculator2 (cd %1\com.android.calculator2&for /d %%i in (*) do "%zip%" a "%1\A\com.android.calculator2.zip" "%%i")
  3. if exist %1\com.android.soundrecorder (cd %1\com.android.soundrecorder&for /d %%i in (*) do "%zip%" a "%1\A\com.android.soundrecorder.zip" "%%i")
  4. if exist %1\com.android.appshare (cd %1\com.android.appshare&for /d %%i in (*) do "%zip%" a "%1\A\com.android.appshare.zip" "%%i")
  5. if exist %1\com.android.contacts (cd %1\com.android.contacts&for /d %%i in (*) do "%zip%" a "%1\A\com.android.contacts.zip" "%%i")
  6. if exist %1\com.android.deskclock (cd %1\com.android.deskclock&for /d %%i in (*) do "%zip%" a "%1\A\com.android.deskclock.zip" "%%i")
  7. if exist %1\com.android.fileexplorer (cd %1\com.android.fileexplorer&for /d %%i in (*) do "%zip%" a "%1\A\com.android.fileexplorer.zip" "%%i")
复制代码
需求是打包%1下所有子文件夹(不包含子文件夹本身目录)

如果用for /d %%i in (*) do "%zip%" a "%1\%%i.zip" "%%i" 得到的是含子文件目录的压缩包
如下图

需要不含子文件目录的压缩包 就是不含图中的icons

不要包含icons目录 不要包含icons目录 不要包含icons目录

TOP

本帖最后由 smss 于 2019-5-10 16:25 编辑

回复 5# WHY
for /d %%i in ("%1") do (for /d %%j in ("%%i\*") do "C:\Program Files\WinRAR\WinRAR.exe" a -ep1 -afzip -r "%%j.zip" "%%j\*")
7Z
for /d %%i in ("%1\*") do (for /d %%j in ("%%i\*") do "C:\Program Files\7-Zip\7z.exe" a "%%i.zip" "%%i\*")
调整之后最好的结果了

TOP

返回列表