Использовать командную строку winrar для создания zip-архивов
Я использую следующую командную строку winrar для создания zip-архивов:
rar.exe a -df -ep -ag[yyyyMMddhhmmss] -ms[txt] C:\MyZipFile.zip C:\tmp\MyFiles*.txt
Созданные архивы в формате RAR вместо ZIP. Есть ли способ создавать обычные ZIP, а не RAR-архивы?
3 ответа
Убедитесь, что вы используете WinRAR.exe, а не Rar.exe.
Если вы используете командную строку, убедитесь, что вы набрали:
winrar a -afzip c:\test.zip c:\test.csv
не:
a -afzip c:\test.zip c:\test.csv
Меня устраивает. Я также получил его для работы в SSIS.
WinRAR содержит подробное описание синтаксиса командной строки в файлах справки (справка WinRAR), глава "Синтаксис командной строки".
Все команды, такие как "a" (добавить в архив), "d" (удалить из архива), "e" (извлечь из архива, игнорируя пути) и переключатели, такие как "-af" (указать, создавать ли там перечислены rar или zip-файл), "-ad" (добавить имя архива к пути назначения) или "-p" (зашифровать архив с помощью защиты паролем).
Вариантов довольно много. Я рекомендую прочитать правила синтаксиса командной строки при работе с WinRAR через командные строки.
Для запуска zip-упаковки WinRAR из приложения базы данных MS Access, я использую, например, код 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.