Yang dapat digunakan perintah melalui command line untuk meng-unzip file? Sebaiknya sesuatu yang dibangun ke dalam Windows atau open source/gratis alat-alat.
Jika anda sudah memiliki java di PC anda, dan direktori bin yang ada di jalan anda (dalam kebanyakan kasus), anda dapat menggunakan command line:
jar xf test.zip
atau jika tidak di jalan anda:
C:\Java\jdk1.6.0_03\bin>jar xf test.zip
Set lengkap pilihan untuk tabung alat yang tersedia di sini.
Contoh:
Extract jar file
jar x[v]f jarfile [inputfiles] [-Joption]
jar x[v] [inputfiles] [-Joption]
Anda bisa menggunakan :
http://membrane.com/synapse/library/pkunzip.html
atau
7zip: http://www.7-zip.org/download.html
Gratis byte zip: http://www.freebyte.com/fbzip/
atau infozip: http://infozip.sourceforge.net/
Pertama, menulis utilitas unzip menggunakan vbscript untuk memicu asli unzip fungsi di Windows. Kemudian pipa script dari dalam batch file dan kemudian panggilan itu. Maka itu's sebagai baik sebagai berdiri sendiri. I've dilakukan di masa lalu untuk berbagai tugas. Cara ini tidak memerlukan membutuhkan aplikasi pihak ketiga, hanya satu file batch yang melakukan segala sesuatu.
Saya menempatkan contoh di blog saya tentang cara untuk meng-unzip file menggunakan file 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"
Menggunakannya seperti ini:
cscript //B j_unzip.vbs zip_file_name_goes_here.zip
Seperti telah disinggung, 7-zip lebih besar.
Catatan: saya akan ke zip dan kemudian unzip file. Unzip di bagian bawah.
Kontribusi saya:
Mendapatkan
7-Zip Versi Baris Perintah
URL saat ini
http://www.7-zip.org/download.html
Sintaks?
Anda dapat menempatkan kode berikut ke dalam .bat file
"C:\Program Files\7-Zip\7z.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
I've ditampilkan beberapa pilihan.
-r adalah rekursif. Biasanya apa yang anda inginkan dengan zip fungsi.
a untuk "archive". Yang's nama output file zip.
-p adalah untuk password (opsional)
-w adalah direktori source. Ini akan sarang file anda dengan benar dalam file zip, tanpa folder tambahan informasi.
-mem adalah kekuatan enkripsi.
Ada orang lain. Tapi di atas akan membuat anda berjalan.
CATATAN: Menambahkan sebuah kata sandi akan membuat file zip tidak bersahabat ketika datang untuk melihat file melalui Windows Explorer. Klien mungkin membutuhkan salinan mereka sendiri dari 7-zip (atau winzip atau lainnya) untuk melihat isi dari file tersebut.
EDIT::::::::::::(hanya hal-hal ekstra).
Ada "baris perintah" versi yang ini mungkin lebih cocok untuk ini: http://www.7-zip.org/download.html
(saat ini (pada saat penulisan) direct link) http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download
Jadi zip perintah akan (dengan versi baris perintah dari 7-zip tool).
"C:\WhereIUnzippedCommandLineStuff\7za.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
Sekarang unzip porsi: (untuk unzip file yang baru saja anda buat)
"C:\WhereIUnzippedCommandLineStuff\7zipCommandLine\7za.exe" e MySuperCoolZipFile.zip "*.*" -oC:\SomeOtherFolder\MyUnzippedFolder -pmypassword -y -r
Dokumentasi berikut ini:
http://sevenzip.sourceforge.jp/chm/cmdline/commands/extract.htm
Terima kasih Kaya, aku akan mengambil catatan itu. Jadi di sini adalah script untuk saya sendiri solusi. Hal ini tidak memerlukan pihak ketiga unzip alat-alat.
Termasuk script berikut pada awal file batch untuk membuat fungsi, dan kemudian untuk memanggil fungsi, perintah adalah...
cscript /B j_unzip.vbs zip_file_name_goes_here.zip
Berikut ini adalah script untuk menambahkan ke atas...
REM Mengubah folder bekerja kembali ke direktori saat ini untuk Vista & 7 kompatibilitas %~d0 CD %~dp0 REM Folder berubahREM script Ini upzip's file...
> 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.
Ada sebuah artikel tentang mendapatkan ke built-in Windows .Penanganan file ZIP dengan VBscript di sini:
https://www.aspfree.com/c/a/Windows-Scripting/Compressed-Folders-in-WSH/
(Terakhir kode uraian berkaitan dengan ekstraksi)
Awalnya ZIP file yang dibuat dengan MS-DOS baris perintah perangkat lunak dari PKWare, dua program yang PKZIP.EXE dan PKUNZIP.EXE. Saya pikir anda masih dapat men-download PKUNZIP di PKWare situs berikut ini:
http://www.pkware.com/software-pkzip/dos-compression
Sebenarnya command line bisa terlihat seperti ini:
C:\>pkunzip c:\myzipfile.zip c:\extracttothisfolder\
Ambil eksekusi dari info-zip.
Info-ZIP mendukung hardware dari mikrokomputer semua jalan sampai ke Cray superkomputer, yang berjalan pada hampir semua versi dari Unix, VMS, OS/2, Windows 9x/NT/dll. (a.k.a. Win32), Windows 3.x, Windows CE, MS-DOS, AmigaDOS, Atari KL, Acorn RISC OS, BeOS, Mac OS, SMS/QDOS, MVS dan OS/390 OE, VM/CMS, FlexOS, Tandem NSK dan Human68K (Jepang). Ada juga beberapa (lama) dukungan untuk LynxOS, TOPS-20, AOS/VS dan Novell NLMs. Shared libraries (Dll) yang tersedia untuk Unix, OS/2, Win32 dan Win16, dan antarmuka grafis yang tersedia untuk Win32, Win16, Meringis dan Mac OS.
Copy kode di bawah ini ke file batch dan mengeksekusi. Di bawah ini membutuhkan Winzip untuk dipasang/dapat diakses dari mesin anda. Lakukan perubahan variabel sesuai kebutuhan anda.
@ECHO OFF
SET winzip_path="C:\Program Files\WinZip"
SET source_path="C:\Test"
SET output_path="C:\Output\"
SET log_file="C:\Test\unzip_log.txt"
SET file_name="*.zip"
cd %source_path%
echo Executing for %source_path% > %log_file%
FOR /f "tokens=*" %%G IN ('dir %file_name% /b') DO (
echo Processing : %%G
echo File_Name : %%G >> %log_file%
%winzip_path%\WINZIP32.EXE -e %%G %output_path%
)
PAUSE