使用WinRAR命令行创建zip归档文件

46

我正在使用以下的WinRAR命令行创建zip归档:

rar.exe a -df -ep -ag[yyyyMMddhhmmss] -ms[txt] C:\MyZipFile.zip C:\tmp\MyFiles*.txt

创建的档案是RAR格式而不是ZIP。有没有办法创建常规的ZIP档案而不是RAR档案?


2
控制台RAR仅支持RAR格式的存档。不支持ZIP和其他格式。您应该使用WinRAR。 http://acritum.com/winrar/console-rar-manual - Daniel B
11
用户警告:-df开关在归档后删除原始文件!! - Amr Lotfy
3个回答

70

请确保您正在使用WinRAR.exe而不是Rar.exe。

如果您正在使用命令行来执行此操作,请确保输入以下内容:

winrar a -afzip c:\test.zip c:\test.csv

不:
rar a -afzip c:\test.zip c:\test.csv

对我来说有效。我也成功地在SSIS中实现了它。


21
用户警告:-df开关在归档后会删除原始文件!! - Amr Lotfy
1
使用完整路径。例如:“C:\Program Files\WinRAR\WinRAR.exe” a D:\test.rar D:\test - al.koval

6
WinRAR有其命令行语法的详细描述,位于其帮助文件(WinRAR Help)的章节“命令行语法”中。所有命令,例如“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

0

所以 rar.exe 目前无法自行创建 zip 文件,只能通过调用 Windows 版本来实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接