标题: [文件操作] [已解决]求修改批处理7Z打包所有子文件夹(不包含子文件夹本身目录) [打印本页]
作者: smss 时间: 2019-6-22 01:08 标题: [已解决]求修改批处理7Z打包所有子文件夹(不包含子文件夹本身目录)
- @echo off&SetLocal EnableDelayedExpansion
- ::for /f "delims=" %%i in ('dir /b /a /s *') do (attrib "%%i" +h)>nul
- ::压缩
- for /f "delims=" %%i in ('dir /b /adh %cd%\*') do (for /f "delims=" %%j in ('dir /b /adh %cd%\*') do (
- 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
- echo %%j压入%%~dpi%%i.zip
- )))))
- echo ________________________________________________________________________
- for /d %%i in ("%cd%\*") do (for /d %%j in ("%%i\*") do echo %%j压入%%i.zip)
- pause
复制代码
不太理想
作者: miqilaosu 时间: 2019-6-22 11:39
本帖最后由 miqilaosu 于 2019-6-22 11:49 编辑
回复 1# smss 复制代码
不加/S不就看不到子目录了吗?缺点是不带路径用到时需要通过%~dp0等自行添加
作者: smss 时间: 2019-6-22 11:56
本帖最后由 smss 于 2019-6-22 15:21 编辑
回复 2# miqilaosu
谢谢- @echo off&SetLocal EnableDelayedExpansion
- ::for /f "delims=" %%i in ('dir /b /a /s *') do (attrib "%%i" +h)>nul
- ::压缩
- for /f "delims=" %%i in ('dir /b /adh "%cd%\*"') do (for /f "delims=" %%j in ('dir /b /ad /adh "%%~dpi%%i*"') do (
- if "%%~nxi" neq "preview" (if "%%~nxi" neq "wallpaper" ("C:\Program Files\7-Zip\7z.exe" a "%%~dpi%%i.zip" "%%~dpj%%j\*">nul
- echo %%~dpj%%j压入%%~dpi%%i.zip
- ))))
- pause
复制代码
作者: miqilaosu 时间: 2019-6-22 13:14
回复 3# smss - dir /b /ad /adh "%%~dpi%%i*"
复制代码
最好有引号,不然遇到有空格的文件夹会报错
作者: smss 时间: 2019-6-22 15:19
回复 4# miqilaosu
好
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |