使用bat和7zip遍历目录zip文件夹

时间:2014-03-02 12:22:56

标签: batch-file 7zip

我正在尝试遍历包含文件夹的目录。 我想通过7zip压缩文件夹(因为其中一些是非常大的文件) 我的意思是这样的例子:

  • 主文件夹
    • 备份1
    • 备份2
    • 备份3

我希望它能够为文件夹备份1-3创建一个单独的7zip文件。 这是我得到的:

@echo off
set zip=7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on
set directory="E:\Backup\"
for /d %%i in (%directory%) do %zip% "%%i.7z" "%%i%\*"
pause

但是,只要我这样做,它就会创建一个名为Backup的1个7zip文件,它不会为其中的每个文件夹创建一个单独的7zip文件。

2 个答案:

答案 0 :(得分:1)

你差不多完成了。

@echo off
    set "zip=7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on"
    set "directory=E:\Backup"
    for /d %%i in ("%directory%\*") do %zip% "%%~fi.7z" "%%~fi\*"
    pause

答案 1 :(得分:0)

这是另一种选择:

@echo off
cd /d "E:\Backup\"
set zip=7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on
for /d %%i in (*) do %zip% "%%i.7z" "%%i%\*"