如何用bat调用bandizip加密压缩当前目录的所有文件夹?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用bat调用bandizip加密压缩当前目录的所有文件夹?相关的知识,希望对你有一定的参考价值。

设置一个密码为123,每个文件夹单独压缩为一个同名的7z格式压缩包,并且压缩属性为【存储】。我对cmd命令不熟练,看了bandizip的命令半天也弄不出来,求大佬帮忙。

您可以使用以下 bat 脚本来实现上述功能:
@echo off
for /d %%d in (*) do (
"C:\Program Files\Bandizip\Bandizip.exe" a -p123 -m0=lzma2 -mx=9 -y "%%d.7z" "%%d\"
)
echo Done.
上面的脚本会遍历当前目录下的所有文件夹,并使用 Bandizip 进行加密压缩。密码为 123,压缩算法为 LZMA2,最高压缩级别为 9,-y 参数用于在不询问的情况下覆盖已存在的压缩包。追问

这个是包含子文件夹的么?可不可以只是当前目录的文件夹。

追答

非常抱歉,我理解有误。上面的脚本会遍历当前目录及其子目录中的所有文件夹并进行压缩。如果您只需要压缩当前目录中的文件夹,可以将 for 循环的括号中的星号替换为一个点,如下所示:非常抱歉,我理解有误。上面的脚本会遍历当前目录及其子目录中的所有文件夹并进行压缩。如果您只需要压缩当前目录中的文件夹,可以将 for 循环的括号中的星号替换为一个点,如下所示:
@echo off
for /d %%d in (.) do (
"C:\Program Files\Bandizip\Bandizip.exe" a -p123 -m0=lzma2 -mx=9 -y "%%d.7z" "%%d\"
)
echo Done.
这样,脚本将只遍历当前目录下的文件夹并进行压缩,而不会包含子目录中的文件夹。希望这次回答能够帮助到您,如果您有任何问题,请随时提出。

追问

抱歉,我试了一下,提示参数无效。而且我输入bandizip/?的时候,它打开的是一个网页,里面的参数说明好像和您使用的不一样。

追答

非常抱歉,我可能提供了错误的指导。Bandizip 的命令行参数可能因版本而异,也可能因安装位置和语言而异。我建议您可以通过以下两种方式来找到正确的命令行参数:

    使用 Bandizip 的 GUI 界面进行操作。Bandizip 的图形用户界面非常简单易用,您可以直接在其中选择要压缩的文件夹,并在选项中指定压缩格式、密码等。具体步骤如下:

    双击打开 Bandizip 软件

    在主界面上选择要压缩的文件夹

    在右侧选项中设置要使用的压缩格式、密码等

    点击“开始”按钮,开始压缩

    查看 Bandizip 的官方文档。Bandizip 官方文档中提供了详细的命令行参数说明,您可以根据您使用的版本和安装位置,查看相应的文档。您可以前往 Bandizip 官方网站(https://www.bandisoft.com/bandizip/)并选择“帮助”菜单,找到相应的命令行参数文档。

    希望这些方法能够帮助您解决问题,如果您有其他疑问,请随时联系我。

非常抱歉,我可能提供了错误的指导。Bandizip 的命令行参数可能因版本而异,也可能因安装位置和语言而异。我建议您可以通过以下两种方式来找到正确的命令行参数:

1,使用 Bandizip 的 GUI 界面进行操作。Bandizip 的图形用户界面非常简单易用,您可以直接在其中选择要压缩的文件夹,并在选项中指定压缩格式、密码等。具体步骤如下:

    双击打开 Bandizip 软件

    在主界面上选择要压缩的文件夹

    在右侧选项中设置要使用的压缩格式、密码等

    点击“开始”按钮,开始压缩

2,查看 Bandizip 的官方文档。Bandizip 官方文档中提供了详细的命令行参数说明,您可以根据您使用的版本和安装位置,查看相应的文档。您可以前往 Bandizip 官方网站(https://www.bandisoft.com/bandizip/)并选择“帮助”菜单,找到相应的命令行参数文档。

    希望这些方法能够帮助您解决问题,如果您有其他疑问,请随时联系我。

参考技术A 如下所示:

@echo off

rem
设置压缩后文件的名称(注意:不要加文件后缀)

rem 后缀根据Bandizip软件设置而定
set zname=当前目录压缩文件

rem 开始压缩,使用Bandizip的命令行工具:bzc.exe,其完整语法为:
rem bzc [压缩模式] [压缩选项] [要压缩的文件或文件夹] [压缩后的文件名]
bzc aec -y -t7z %zname%.7z .\*

rem 由于Bandizip未支持同时压缩多个文件夹,所以我们必须循环遍历所有的文件夹,然后单独压缩:
for /d %%a in (*) do bzc aec -y -t7z %zname%.7z %%a

echo
已完成压缩!追问

抱歉不是很明白诶,可否帮忙写个能直接用的。然后我看了一下最新的命令行工具是bz.exe。而且这个里面也没有加入密码。

参考技术B

您可以使用以下代码实现:

javaCopy code@echo offfor /d %%d in (*) do (    "C:\\Program Files\\Bandizip\\bandizip.exe" a -p123 -m0 "%%d.7z" "%%d")

上述代码会执行以下操作:

    使用 for 命令循环所有的文件夹;

    调用 Bandizip 命令行工具,并使用参数 a 表示压缩操作;

    使用参数 -p123 设置压缩密码;

    使用参数 -m0 设置存储压缩属性;

    将当前文件夹作为输入,并将压缩后的文件命名为当前文件夹名.7z。

    请注意,如果 Bandizip 安装在其他位置,则您需要在代码中更新路径。

追问

@echo off
for /d %%d in (*) do ( "C:\Program Files\Bandizip\bandizip.exe" a -p123 -m0 "%%d.7z" "%%d")
您的代码我这边无法使用哦,提示参数错误,劳烦了

参考技术C 可以使用以下命令:
"C:\Program Files\Bandizip\Bandizip.exe" a -r -p -mhe=on -ep1 "C:\Path\To\Archive.zip" "C:\Path\To\Folder"

Bandizip如何加密档案内文件名(让别人无法预览)

引言

winrar加密压缩时有一个加密文件名的选项,勾选后文件名也不能直接预览,要输入密码才能查看。bandizip没有这个选项,那么如何实现压缩时文件名的加密呢?

教程

若要防止未经授权的用户读取档案中的文件名,请以7Z格式加密档案。ZIP格式不提供文件名的加密,但7Z格式提供。 创建7Z档案时,可以输入密码以隐藏档案中的文件名,Bandizip会自动加密档案中的文件名。

综上,bandizip不支持zip格式的文件名加密,但支持7z格式。

参考

http://cn.bandisoft.com/bandizip/help/encrypt-file-names/

以上是关于如何用bat调用bandizip加密压缩当前目录的所有文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

如何用bat打开本身目录下的文件?

如何用java 将文件加密压缩为zip文件.

如何用一个bat文件调用另外两个bat文件?

求助如何用bat整理文件内容,并输出结果?

linux下如何用7za命令将某个7z压缩包解压?

linux下如何用unzip解压目录内所有zip文件?