2010-09-30 55 views
32

que estoy usando la siguiente línea de comandos winrar para crear archivos zip:uso winrar línea de comandos para crear archivos zip

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

Los archivos creados son en formato RAR en lugar de postal. ¿Hay alguna manera de crear archivos ZIP regulares y no RAR?

+1

consola RAR soporta archivos en formato RAR única. ZIP y otros formatos no son compatibles. Deberías usar winrar. http://acritum.com/winrar/console-rar-manual –

+8

advertencia para los usuarios: -df cambie ELIMINA los archivos originales después de archivarlos. –

Respuesta

45

Asegúrese de estar utilizando WinRAR.exe y no Rar.exe.

Si está utilizando la línea de comandos para hacer esto, asegúrese de que escribe:

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

:

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

funciona para mí. También lo tengo para trabajar en SSIS.

+13

** ADVERTENCIA ** para usuarios: el modificador -df ELIMINA los archivos originales después de archivarlos. –

2

WinRAR tiene una descripción detallada de su sintaxis de línea de comando en sus archivos de ayuda (Ayuda de WinRAR), capítulo "Sintaxis de línea de comando".

Todos los comandos como "a" (agregar a un archivo), "d" (eliminar de un archivo), "e" (extraer de un archivo ignorando rutas) e interruptores como "-af" (especificar ya sea para crear un rar o un archivo zip), "-ad" (anexar el nombre del archivo a la ruta de destino) o "-p" (encriptar el archivo usando la protección con contraseña) se enumeran allí.

Hay bastantes opciones. Recomiendo leer las reglas de sintaxis de la línea de comandos cuando trabaje con WinRAR a través de líneas de comando.

Con el fin de desencadenar WinRAR cremallera envases desde una aplicación de base de datos MS Access, que uso en el código VBA por ejemplo

Shell c:\Programme\WinRAR\winrar.exe a -afzip -p<AnyPasswordYouLike> "e:\MyStuff\TargetFolder\Output.zip" "e:\MyStuff\SourceFolder\Input.docx" 

Por supuesto, las rutas de archivo y nombres se introducen ususally través de variables, por ejemplo como

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) 

'y luego llamar Winrar simplemente por:

Shell strWinrarCommandline 
Cuestiones relacionadas