如何用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/)并选择“帮助”菜单,找到相应的命令行参数文档。
希望这些方法能够帮助您解决问题,如果您有其他疑问,请随时联系我。
@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:\Program Files\Bandizip\Bandizip.exe" a -r -p -mhe=on -ep1 "C:\Path\To\Archive.zip" "C:\Path\To\Folder"
Bandizip如何加密档案内文件名(让别人无法预览)
以上是关于如何用bat调用bandizip加密压缩当前目录的所有文件夹?的主要内容,如果未能解决你的问题,请参考以下文章