Puis-je dézipper des fichiers par la ligne de commande ? De préférence à l'aide d'outils open source/gratuits.
Réponses
Trop de publicités?Si vous avez déjà java sur votre PC, et que le répertoire bin se trouve dans votre chemin (dans la plupart des cas), vous pouvez utiliser la ligne de commande :
jar xf test.zip
ou si ce n'est pas sur votre chemin :
C:\Java\jdk1.6.0_03\bin>jar xf test.zip
Ensemble complet d'options pour l'outil jar disponible aquí .
Exemples :
Extract jar file
jar x[v]f jarfile [inputfiles] [-Joption]
jar x[v] [inputfiles] [-Joption]
Vous pouvez utiliser :
http://membrane.com/synapse/library/pkunzip.html
ou
7zip : http://www.7-zip.org/download.html
Octet gratuit zip : http://www.freebyte.com/fbzip/
ou infozip : http://infozip.sourceforge.net/
Tout d'abord, écrivez un utilitaire de dézippage à l'aide de vbscript pour déclencher la fonctionnalité de dézippage native de Windows. Ensuite, faites sortir le script à partir de votre fichier batch et appelez-le. Ensuite, c'est aussi bon qu'en mode autonome. Je l'ai fait dans le passé pour de nombreuses tâches. De cette façon, il n'est pas nécessaire d'utiliser des applications tierces, il suffit d'un seul fichier batch qui fait tout.
J'ai mis un exemple sur mon blog sur la façon de dézipper un fichier en utilisant un fichier batch :
' j_unzip.vbs
'
' UnZip a file script
'
' By Justin Godden 2010
'
' It's a mess, I know!!!
'
' Dim ArgObj, var1, var2
Set ArgObj = WScript.Arguments
If (Wscript.Arguments.Count > 0) Then
var1 = ArgObj(0)
Else
var1 = ""
End if
If var1 = "" then
strFileZIP = "example.zip"
Else
strFileZIP = var1
End if
'The location of the zip file.
REM Set WshShell = CreateObject("Wscript.Shell")
REM CurDir = WshShell.ExpandEnvironmentStrings("%%cd%%")
Dim sCurPath
sCurPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
strZipFile = sCurPath & "\" & strFileZIP
'The folder the contents should be extracted to.
outFolder = sCurPath & "\"
WScript.Echo ( "Extracting file " & strFileZIP)
Set objShell = CreateObject( "Shell.Application" )
Set objSource = objShell.NameSpace(strZipFile).Items()
Set objTarget = objShell.NameSpace(outFolder)
intOptions = 256
objTarget.CopyHere objSource, intOptions
WScript.Echo ( "Extracted." )
' This bit is for testing purposes
REM Dim MyVar
REM MyVar = MsgBox ( strZipFile, 65, "MsgBox Example"
Utilisez-le comme ça :
cscript //B j_unzip.vbs zip_file_name_goes_here.zip
Comme d'autres l'ont fait remarquer, 7-zip est excellent.
Note : Je vais compresser puis décompresser un fichier. Dézipper est en bas de la page.
Ma contribution :
Obtenez le
Version en ligne de commande de 7-Zip
URL actuel
http://www.7-zip.org/download.html
La syntaxe ?
Vous pouvez mettre les éléments suivants dans un fichier .bat
"C:\Program Files\7-Zip\7z.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
J'ai montré quelques options.
-r est récursif. C'est généralement ce que vous voulez avec la fonctionnalité zip.
a est pour "archive". C'est le nom du fichier zip de sortie.
-p est pour un mot de passe (facultatif)
-w est un répertoire source. Cela permettra d'imbriquer vos fichiers correctement dans le fichier zip, sans informations supplémentaires sur les dossiers.
-mem est la force de cryptage.
Il en existe d'autres. Mais ceux qui précèdent vous permettront d'avancer.
REMARQUE : L'ajout d'un mot de passe rendra le fichier zip peu convivial lorsqu'il s'agira de le visualiser via l'Explorateur Windows. Le client peut avoir besoin de sa propre copie de 7-zip (ou winzip ou autre) pour visualiser le contenu du fichier.
EDIT::::::::::: : (juste des trucs supplémentaires).
Il existe une version "ligne de commande" qui est probablement mieux adaptée à cette tâche : http://www.7-zip.org/download.html
(lien direct actuel (au moment de la rédaction)) http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download
Ainsi, le commande zip serait (avec la version en ligne de commande de l'outil zip 7).
"C:\WhereIUnzippedCommandLineStuff\7za.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
Maintenant, le partie dézippée : (pour décompresser le fichier que vous venez de créer)
"C:\WhereIUnzippedCommandLineStuff\7zipCommandLine\7za.exe" e MySuperCoolZipFile.zip "*.*" -oC:\SomeOtherFolder\MyUnzippedFolder -pmypassword -y -r
Documentation ici :
http://sevenzip.sourceforge.jp/chm/cmdline/commands/extract.htm
- Réponses précédentes
- Plus de réponses