这是一个批处理程序(bat脚本),功能是:将一个文件夹下面的所有子文件夹和文件分别压缩为zip文件(不递归子目录) Dir_to_Zip.bat

    @echo off
    rem 关闭回显
    %~d1
    rem 转到目标目录所在盘符
    cd %~f1
    rem 转到目标目录
    path=D:\Program Files\7-Zip;C:\Program Files\7-Zip
    rem 设置7-zip的路径
    for /F "tokens=*" %%i in ('dir %1 /A /B') do 7z a -tzip "%%i".zip "%%i"
    rem dir列出子目录及文件列表,for遍历每个对象,do调用7-zip压缩

备注: 需要系统中安装有7zip,其他压缩软件如果支持命令行也可参考此做法,do后面的命令参数也可自定义,例如将格式改为7z或者调整压缩级别等等

其实实现这个功能早就有更好的软件了——老马的作品Zip2Dir,这里有好多他的原创作品,都是很实用的小工具: http://www.comicer.com/stronghorse/software/index.htm

您也许想再看看这些:

4 回复 “将文件夹下所有文件及子目录分别压缩为zip”

  1. zach

    不错.\\^✿^//
    其实如果7zip把这事给干了就更好了,记得winrar可以。

  2. Kder

    winrar的确有这个功能:右键-“添加到压缩文件”-“文件”-选中“把每个文件放到单独的压缩文件中”就可以了。这里有图说明:http://oneyicn.gobaiyi.com/archives/1661/

  3. sailchou

    我是来顶可得儿的~~~

  4. Kder

    @sailchou 谢谢支持哈~