我到处寻找却找不到任何人的直接答案。
如果我想将 C:\Temp 的内容打包成一个名为 Temp.exe(7z 格式)的自解压文件,如何在批处理文件中执行此操作?
这不起作用:
"C:\Program Files\7-Zip\7z.exe" a -t7z -mx5 -sfx 7z.sfx directoryname archive.exe -mmt
我从中得到的是一个名为 7z.sfx 的自解压档案。搞不懂。
答案1
我摆弄了一下之后才明白:
:: zip
"C:\Program Files\7-Zip\7z.exe" a archive.exe -mmt -mx5 -sfx dirname
pause
答案2
您遇到的问题是 7-zip 不喜欢参数中的空格。因此,您想要的是更类似于以下内容的内容:
"C:\Program Files\7-Zip\7z.exe" a archive.exe -mmt -mx5 -sfx7z.sfx dirname
答案3
这应该有效:
"C:\Program Files\7-Zip\7z.exe" a -t7z -mx5 -sfx archive.exe directoryname -mmt
(PS:添加Program Files\7-zip
到您的PATH
环境变量中,这样您就可以直接访问该文件,而7z.exe
不是"C:\Program Files\7-Zip\7z.exe"
)
答案4
7-zip 有一个命令行版本,名为 7z.exe,您可以从 7-zip 的网站下载它。要创建自解压安装程序,请使用 -sfx 标志,后跟一个表示压缩量的数字。