Используйте командную строку winrar для создания zip-архивов
Я использую следующую командную строку winrar для создания zip-архивов:
rar.exe a -df -ep -ag[yyyyMMddhhmmss] -ms[txt] C:\MyZipFile.zip C:\tmp\MyFiles*.txt
Созданные архивы находятся в формате RAR вместо ZIP. Есть ли способ создать обычный ZIP, а не RAR-архив?
Ответы
Ответ 1
Убедитесь, что вы используете WinRAR.exe, а не Rar.exe.
Если вы используете командную строку для этого, убедитесь, что вы ввели:
winrar a -afzip c:\test.zip c:\test.csv
не
a -afzip c:\test.zip c:\test.csv
Это работает для меня. Я также получил его для работы в SSIS.
Ответ 2
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
Ответ 3
Таким образом, в настоящее время rar.exe не может самостоятельно создавать zip файлы, только если это возможно в версии для Windows.