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

[文件操作] [已解决]求修改批处理7Z打包所有子文件夹(不包含子文件夹本身目录)

  1. @echo off&SetLocal EnableDelayedExpansion
  2. ::for /f "delims=" %%i in ('dir /b /a /s *') do (attrib "%%i" +h)>nul
  3. ::压缩
  4. for /f "delims=" %%i in ('dir /b /adh %cd%\*') do (for /f "delims=" %%j in ('dir /b /adh %cd%\*') do (
  5. if "%%~nxi" neq "preview" (if "%%~nxi" neq "wallpaper" (if "%%~nxi" neq "description.xml" ("C:\Program Files\7-Zip\7z.exe" a "%%~dpi%%i.zip" "%%j\*">nul
  6. echo %%j压入%%~dpi%%i.zip
  7. )))))
  8. echo ________________________________________________________________________
  9. for /d %%i in ("%cd%\*") do (for /d %%j in ("%%i\*") do echo %%j压入%%i.zip)
  10. pause
复制代码
不太理想

本帖最后由 miqilaosu 于 2019-6-22 11:49 编辑

回复 1# smss
  1. dir /b /adh
复制代码
不加/S不就看不到子目录了吗?缺点是不带路径用到时需要通过%~dp0等自行添加

TOP

本帖最后由 smss 于 2019-6-22 15:21 编辑

回复 2# miqilaosu
谢谢
  1. @echo off&SetLocal EnableDelayedExpansion
  2. ::for /f "delims=" %%i in ('dir /b /a /s *') do (attrib "%%i" +h)>nul
  3. ::压缩
  4. for /f "delims=" %%i in ('dir /b /adh "%cd%\*"') do (for /f "delims=" %%j in ('dir /b /ad /adh "%%~dpi%%i*"') do (
  5. if "%%~nxi" neq "preview" (if "%%~nxi" neq "wallpaper" ("C:\Program Files\7-Zip\7z.exe" a "%%~dpi%%i.zip" "%%~dpj%%j\*">nul
  6. echo %%~dpj%%j压入%%~dpi%%i.zip
  7. ))))
  8. pause
复制代码

TOP

回复 3# smss
  1. dir /b /ad /adh "%%~dpi%%i*"
复制代码
最好有引号,不然遇到有空格的文件夹会报错

TOP

回复 4# miqilaosu

TOP

返回列表