我使用以下 winrar 命令行来创建 zip 存档:
rar.exe a -df -ep -ag[yyyyMMddhhmmss] -ms[txt] C:\MyZipFile.zip C:\tmp\MyFiles*.txt
创建的存档是 RAR 格式而不是 ZIP 格式。有没有办法创建常规 ZIP 而不是 RAR 存档?
确保您使用的是 WinRAR.exe 而不是 Rar.exe。
如果您使用命令行执行此操作,请确保输入:
winrar a -afzip c:\test.zip c:\test.csv
不是:
rar a -afzip c:\test.zip c:\test.csv
这对我有用。我也让它在 SSIS 中工作。
WinRAR 在其帮助文件(WinRAR 帮助)的“命令行语法”一章中有对其命令行语法的详细说明。
所有命令,如“a”(添加到存档)、“d”(从存档中删除)、“e”(从存档中提取,忽略路径)以及诸如“-af”(指定是否创建此处列出了 rar 或 zip 文件)、“-ad”(将存档名称附加到目标路径)或“-p”(使用密码保护对存档进行加密)。
有很多选择。我建议在通过命令行使用 WinRAR 时阅读命令行语法规则。
为了从 MS Access 数据库应用程序中触发 WinRAR zip 打包,我在 VBA 代码中使用为例
Shell c:\Programme\WinRAR\winrar.exe a -afzip -p <AnyPasswordYouLike> "e:\MyStuff\TargetFolder\Output.zip" "e:\MyStuff\SourceFolder\Input.docx"
当然,文件路径和名称通常是通过变量输入的,例如喜欢
Dim strWinrarCommandline As String
'... and the other variables as well declared in advance, of course...
strWinrarCommandline = strWinrarPathAndSwitches & "-p" & strPassword & " " & Chr(34) & strOutputFullName & Chr(34) & " " & Chr(34) & strInputFullName & Chr(34)
'然后只需通过以下方式调用 Winrar:
Shell strWinrarCommandline
所以rar.exe目前无法自行创建zip文件,只能在Windows版本中调用才可以。