[Zip] Come decomprimere un file utilizzando la riga di comando?


Answers

Se hai già java sul tuo PC e la directory bin è nel tuo percorso (nella maggior parte dei casi), puoi usare la riga di comando:

jar xf test.zip

o se non nel tuo percorso:

C:\Java\jdk1.6.0_03\bin>jar xf test.zip

Set completo di opzioni per lo strumento jar disponibile here .

Esempi:

Extract jar file
    jar x[v]f jarfile [inputfiles] [-Joption] 
    jar x[v] [inputfiles] [-Joption]
Question

Posso decomprimere i file tramite la riga di comando? Preferibilmente usando strumenti open source / gratuiti.




Originariamente i file ZIP sono stati creati con il software da riga di comando MS-DOS di PKWare, i due programmi erano PKZIP.EXE e PKUNZIP.EXE. Penso che tu possa ancora scaricare PKUNZIP sul sito PKWare qui:

http://www.pkware.com/software-pkzip/dos-compression

La riga di comando attuale potrebbe essere simile a questa:

C:\>pkunzip c:\myzipfile.zip c:\extracttothisfolder\



Grazie Rich, ne prenderò nota. Quindi ecco lo script per la mia soluzione. Non richiede strumenti di decompressione di terze parti.

Includere lo script seguente all'inizio del file batch per creare la funzione, quindi chiamare la funzione, il comando è ... cscript /B j_unzip.vbs zip_file_name_goes_here.zip

Ecco lo script da aggiungere all'inizio ...

REM Changing working folder back to current directory for Vista & 7 compatibility
%~d0
CD %~dp0
REM Folder changed

REM This script upzip's files...

    > j_unzip.vbs ECHO '
    >> j_unzip.vbs ECHO ' UnZip a file script
    >> j_unzip.vbs ECHO '
    >> j_unzip.vbs ECHO ' It's a mess, I know!!!
    >> j_unzip.vbs ECHO '
    >> j_unzip.vbs ECHO.
    >> j_unzip.vbs ECHO ' Dim ArgObj, var1, var2
    >> j_unzip.vbs ECHO Set ArgObj = WScript.Arguments
    >> j_unzip.vbs ECHO.
    >> j_unzip.vbs ECHO If (Wscript.Arguments.Count ^> 0) Then
    >> j_unzip.vbs ECHO. var1 = ArgObj(0)
    >> j_unzip.vbs ECHO Else
    >> j_unzip.vbs ECHO. var1 = ""
    >> j_unzip.vbs ECHO End if
    >> j_unzip.vbs ECHO.
    >> j_unzip.vbs ECHO If var1 = "" then
    >> j_unzip.vbs ECHO. strFileZIP = "example.zip"
    >> j_unzip.vbs ECHO Else
    >> j_unzip.vbs ECHO. strFileZIP = var1
    >> j_unzip.vbs ECHO End if
    >> j_unzip.vbs ECHO.
    >> j_unzip.vbs ECHO 'The location of the zip file.
    >> j_unzip.vbs ECHO REM Set WshShell = CreateObject("Wscript.Shell")
    >> j_unzip.vbs ECHO REM CurDir = WshShell.ExpandEnvironmentStrings("%%cd%%")
    >> j_unzip.vbs ECHO Dim sCurPath
    >> j_unzip.vbs ECHO sCurPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
    >> j_unzip.vbs ECHO strZipFile = sCurPath ^& "\" ^& strFileZIP
    >> j_unzip.vbs ECHO 'The folder the contents should be extracted to.
    >> j_unzip.vbs ECHO outFolder = sCurPath ^& "\"
    >> j_unzip.vbs ECHO.
    >> j_unzip.vbs ECHO. WScript.Echo ( "Extracting file " ^& strFileZIP)
    >> j_unzip.vbs ECHO.
    >> j_unzip.vbs ECHO Set objShell = CreateObject( "Shell.Application" )
    >> j_unzip.vbs ECHO Set objSource = objShell.NameSpace(strZipFile).Items()
    >> j_unzip.vbs ECHO Set objTarget = objShell.NameSpace(outFolder)
    >> j_unzip.vbs ECHO intOptions = 256
    >> j_unzip.vbs ECHO objTarget.CopyHere objSource, intOptions
    >> j_unzip.vbs ECHO.
    >> j_unzip.vbs ECHO. WScript.Echo ( "Extracted." )
    >> j_unzip.vbs ECHO.






Prendi un eseguibile da info-zip .

Info-ZIP supporta l'hardware dai microcomputer fino ai supercomputer Cray, in esecuzione su quasi tutte le versioni di Unix, VMS, OS / 2, Windows 9x / NT / ecc. (aka Win32), Windows 3.x, Windows CE, MS-DOS, AmigaDOS, Atari TOS, Acorn RISC OS, BeOS, Mac OS, SMS / QDOS, MVS e OS / 390 OE, VM / CMS, FlexOS, Tandem NSK e Human68K (giapponese). Esiste anche un (vecchio) supporto per LynxOS, TOPS-20, AOS / VS e Novell NLM. Le librerie condivise (DLL) sono disponibili per Unix, OS / 2, Win32 e Win16 e le interfacce grafiche sono disponibili per Win32, Win16, WinCE e Mac OS.




Links