Bagaimana cara unzip file menggunakan baris perintah? [Tutup]
164
Perintah mana yang dapat digunakan melalui baris perintah untuk membuka zip file?
Lebih disukai sesuatu yang dibangun ke dalam Windows atau open source / alat gratis.
URL pertama yang terdaftar adalah aplikasi 16-bit yang sebenarnya, sehingga tidak berfungsi pada sistem operasi x64. Hanya kepala.
Mark Henderson
38
Jika Anda menggunakan Windows 7 atau 10 dengan PowerShell, Anda dapat menggunakan:powershell.exe -NoP -NonI -Command "Expand-Archive '.\file.zip' '.\unziped\'"
AK_
@AK_ bagaimana dengan Windows 8 atau 8.1?
Frank Vu
2
@AK_ Anda harus menjawabnya sendiri.
BrainStone
221
Jika Anda sudah memiliki java pada PC Anda, dan direktori bin berada di jalur Anda (dalam kebanyakan kasus), Anda dapat menggunakan baris perintah:
jar xf test.zip
atau jika tidak di jalur Anda:
C:\Java\jdk1.6.0_03\bin>jar xf test.zip
Set lengkap opsi untuk alat jar tersedia di sini .
Contoh:
Extract jar file
jar x[v]f jarfile [inputfiles] [-Joption]
jar x[v] [inputfiles] [-Joption]
Petunjuk. Anda membutuhkan JDK, dan bukan hanya JRE jika Anda ingin menggunakan jar.
Qben
1
itu aneh, m jar sebenarnya memecahkan masalah sebagian, karena ia dapat membuat daftar file di dalam arsip dan mengekstrak file yang ditentukan, namun, tidak mungkin untuk mengekstrak semua file pada saat yang sama ... cukup aneh
java.io.FileNotFoundException: test.zip (Sistem tidak dapat menemukan file yang ditentukan)
markj
Apakah ada cara untuk menentukan folder tujuan? (seperti ketika Anda memilih opsi ekstrak-ke)?
Leonardo Alves Machado
41
Pertama, tulis utilitas unzip menggunakan vbscript untuk memicu fungsionalitas unzip asli di Windows. Kemudian pipa keluar skrip dari dalam file batch Anda dan kemudian panggil. Maka itu sama saja dengan berdiri sendiri. Saya sudah melakukannya di masa lalu untuk banyak tugas. Dengan cara ini tidak memerlukan aplikasi pihak ketiga, hanya satu file batch yang melakukan segalanya.
' 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"
Anda dapat memasukkan yang berikut ini ke file .bat
"C:\Program Files\7-Zip\7z.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
Saya telah menunjukkan beberapa opsi.
-r bersifat rekursif. Biasanya apa yang Anda inginkan dengan fungsionalitas zip.
a adalah untuk "arsip". Itulah nama file zip keluaran.
-p adalah untuk kata sandi (opsional)
-w adalah direktori sumber. Ini akan menyarangkan file Anda dengan benar di file zip, tanpa informasi folder tambahan.
-mem adalah kekuatan enkripsi.
Ada yang lain. Tetapi hal di atas akan membuat Anda berjalan.
CATATAN: Menambahkan kata sandi akan membuat file zip tidak ramah ketika harus melihat file melalui Windows Explorer. Klien mungkin perlu salinan 7-zip mereka sendiri (atau winzip atau lainnya) untuk melihat isi file.
Terima kasih Rich, saya akan mencatatnya. Jadi ini skrip untuk solusi saya sendiri. Tidak memerlukan alat unzip pihak ketiga.
Sertakan skrip di bawah ini pada awal file batch untuk membuat fungsi, dan kemudian memanggil fungsi, perintahnya adalah ...
cscript /B j_unzip.vbs zip_file_name_goes_here.zip
Berikut ini skrip untuk ditambahkan ke atas ...
REM Mengubah folder yang berfungsi kembali ke direktori saat ini untuk kompatibilitas Vista & 7
% ~ d0
CD% ~ dp0
Folder REM berubah
REM File skrip upzip ini ...
> j_unzip.vbs ECHO '
>> j_unzip.vbs ECHO 'Unzip skrip file
>> j_unzip.vbs ECHO '
>> j_unzip.vbs ECHO 'Ini berantakan, saya tahu !!!
>> 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) Kemudian
>> j_unzip.vbs ECHO. var1 = ArgObj (0)
>> j_unzip.vbs ECHO Lain
>> j_unzip.vbs ECHO. var1 = ""
>> j_unzip.vbs ECHO Akhiri jika
>> j_unzip.vbs ECHO.
>> j_unzip.vbs ECHO If var1 = "" lalu
>> j_unzip.vbs ECHO. strFileZIP = "example.zip"
>> j_unzip.vbs ECHO Lain
>> j_unzip.vbs ECHO. strFileZIP = var1
>> j_unzip.vbs ECHO Akhiri jika
>> j_unzip.vbs ECHO.
>> j_unzip.vbs ECHO 'Lokasi file zip.
>> 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 'Folder yang isinya harus diekstraksi.
>> j_unzip.vbs ECHO outFolder = sCurPath ^ & "\"
>> j_unzip.vbs ECHO.
>> j_unzip.vbs ECHO. WScript.Echo ("Mengekstrak 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 Tetapkan 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 ("Diekstraksi.")
>> j_unzip.vbs ECHO.
indah :) Saya menggunakan ini untuk mengunduh baris perintah 7zip (yang dapat dieksekusi di-zip (aneh))
Sebastian
Ini berfungsi seperti yang diharapkan, sekarang saya bisa zip folder apa saja dan membuat exe menggunakan iexpress dan unzip menggunakan ini. Apakah ini berfungsi di windows 10 juga.
Kiran Kumar
9
Ada artikel tentang mendapatkan penanganan file .ZIP Windows bawaan dengan VBscript di sini:
Ini tidak mudah tetapi ini tampaknya menjadi solusi yang sangat baik hanya menggunakan fungsionalitas folder zip windows asli. Saya telah mencari sesuatu ini untuk sementara waktu. Terima kasih!
Andre Steenveld
5
Awalnya file ZIP dibuat dengan perangkat lunak MS-DOS command line dari PKWare, kedua program tersebut adalah PKZIP.EXE dan PKUNZIP.EXE. Saya pikir Anda masih dapat mengunduh PKUNZIP di situs PKWare di sini:
Info-ZIP mendukung perangkat keras dari mikrokomputer hingga superkomputer Cray, berjalan di hampir semua versi Unix, VMS, OS / 2, Windows 9x / NT / dll. (alias Win32), Windows 3.x, Windows CE, MS-DOS, AmigaDOS, TOS Atari, OS RISC Acorn, 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 (DLLs) tersedia untuk Unix, OS / 2, Win32 dan Win16, dan antarmuka grafis tersedia untuk Win32, Win16, WinCE dan Mac OS.
Salin kode di bawah ini ke file batch dan jalankan. Di bawah ini mengharuskan Winzip diinstal / dapat diakses dari mesin Anda. Ubah 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
Exand-Archive
danCompress-Archive
. Hormati di mana kehormatan itu jatuh tempo.Jawaban:
Anda bisa menggunakan:
http://membrane.com/synapse/library/pkunzip.html
atau
7zip: http://www.7-zip.org/download.html
Zip byte gratis : http://www.freebyte.com/fbzip/
atau infozip: http://infozip.sourceforge.net/
sumber
powershell.exe -NoP -NonI -Command "Expand-Archive '.\file.zip' '.\unziped\'"
Jika Anda sudah memiliki java pada PC Anda, dan direktori bin berada di jalur Anda (dalam kebanyakan kasus), Anda dapat menggunakan baris perintah:
atau jika tidak di jalur Anda:
Set lengkap opsi untuk alat jar tersedia di sini .
Contoh:
sumber
Pertama, tulis utilitas unzip menggunakan vbscript untuk memicu fungsionalitas unzip asli di Windows. Kemudian pipa keluar skrip dari dalam file batch Anda dan kemudian panggil. Maka itu sama saja dengan berdiri sendiri. Saya sudah melakukannya di masa lalu untuk banyak tugas. Dengan cara ini tidak memerlukan aplikasi pihak ketiga, hanya satu file batch yang melakukan segalanya.
Saya memberi contoh di blog saya tentang cara unzip file menggunakan file batch :
Gunakan seperti ini:
sumber
7-Zip , ini open source, gratis dan mendukung berbagai format.
sumber
Seperti yang disinggung lain, 7-zip itu bagus.
Catatan: Saya akan zip dan kemudian unzip file. Unzip ada di bawah.
Kontribusi saya:
Ambil
Versi 7-Zip Command Line
URL saat ini
http://www.7-zip.org/download.html
Sintaksnya?
Anda dapat memasukkan yang berikut ini ke file .bat
Saya telah menunjukkan beberapa opsi.
-r bersifat rekursif. Biasanya apa yang Anda inginkan dengan fungsionalitas zip.
a adalah untuk "arsip". Itulah nama file zip keluaran.
-p adalah untuk kata sandi (opsional)
-w adalah direktori sumber. Ini akan menyarangkan file Anda dengan benar di file zip, tanpa informasi folder tambahan.
-mem adalah kekuatan enkripsi.
Ada yang lain. Tetapi hal di atas akan membuat Anda berjalan.
CATATAN: Menambahkan kata sandi akan membuat file zip tidak ramah ketika harus melihat file melalui Windows Explorer. Klien mungkin perlu salinan 7-zip mereka sendiri (atau winzip atau lainnya) untuk melihat isi file.
EDIT ::::::::::: :( hanya barang tambahan).
Ada versi "baris perintah" yang mungkin lebih cocok untuk ini: http://www.7-zip.org/download.html
(tautan saat ini (saat penulisan)) http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download
Jadi perintah zip akan menjadi (dengan versi baris perintah dari alat zip 7).
Sekarang bagian unzip : (untuk unzip file yang baru saja Anda buat)
Sebagai alternatif dari argumen "e", ada argumen kapak.
Dokumentasi di sini:
http://sevenzip.sourceforge.jp/chm/cmdline/commands/extract.htm
sumber
Terima kasih Rich, saya akan mencatatnya. Jadi ini skrip untuk solusi saya sendiri. Tidak memerlukan alat unzip pihak ketiga.
Sertakan skrip di bawah ini pada awal file batch untuk membuat fungsi, dan kemudian memanggil fungsi, perintahnya adalah ...
cscript /B j_unzip.vbs zip_file_name_goes_here.zip
Berikut ini skrip untuk ditambahkan ke atas ...
sumber
Ada artikel tentang mendapatkan penanganan file .ZIP Windows bawaan dengan VBscript di sini:
https://www.aspfree.com/c/a/Windows-Scripting/Compressed-Folders-in-WSH/
(Kode uraian terakhir berkaitan dengan ekstraksi)
sumber
Awalnya file ZIP dibuat dengan perangkat lunak MS-DOS command line dari PKWare, kedua program tersebut adalah PKZIP.EXE dan PKUNZIP.EXE. Saya pikir Anda masih dapat mengunduh PKUNZIP di situs PKWare di sini:
http://www.pkware.com/software-pkzip/dos-compression
Baris perintah yang sebenarnya bisa terlihat seperti ini:
sumber
Ambil executable dari info-zip .
sumber
Salin kode di bawah ini ke file batch dan jalankan. Di bawah ini mengharuskan Winzip diinstal / dapat diakses dari mesin Anda. Ubah variabel sesuai kebutuhan Anda.
sumber