web-dev-qa-db-fra.com

utiliser la ligne de commande winrar pour créer des archives Zip

J'utilise la ligne de commande winrar suivante pour créer des archives Zip:

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

Les archives créées sont au format RAR au lieu de Zip. Existe-t-il un moyen de créer des archives Zip régulières et non des archives RAR?

40
Frangiskos

Assurez-vous que vous utilisez WinRAR.exe et non Rar.exe.

Si vous utilisez la ligne de commande pour cela, assurez-vous de taper:

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

ne pas:

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

Ça marche pour moi. Je l'ai aussi fait fonctionner dans SSIS.

54
sqlsavvy

WinRAR contient une description détaillée de sa syntaxe de ligne de commande dans ses fichiers d’aide (Aide WinRAR), chapitre "Syntaxe de ligne de commande". 

Toutes les commandes telles que "a" (ajouter à une archive), "d" (supprimer d'une archive), "e" (extraire d'une archive ignorant les chemins d'accès) et des commutateurs tels que "-af" (spécifier s'il faut créer un rar ou un fichier Zip), "-ad" (ajouter le nom de l'archive au chemin de destination) ou "-p" (crypter l'archive à l'aide d'une protection par mot de passe) y sont répertoriés. 

Il y a beaucoup d'options. Je recommande de lire les règles de syntaxe de la ligne de commande lorsque vous utilisez WinRAR via des lignes de commande. 

Afin de déclencher l'empaquetage WinRAR Zip à partir d'une application de base de données MS Access, j'utilise par exemple dans le code VBA 

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

Bien entendu, les chemins et les noms de fichiers sont généralement entrés via des variables, par exemple. comme 

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)

'Et appelez Winrar simplement par:

Shell strWinrarCommandline
3

Donc, rar.exe est actuellement incapable de créer des fichiers Zip par lui-même uniquement en appelant dans la version Windows, il est possible.

0
Ricardo Bohner