कमांड लाइन का उपयोग करके किसी फ़ाइल को अनज़िप कैसे करें? [बन्द है]


164

किसी फ़ाइल को अनज़िप करने के लिए कमांड लाइन के माध्यम से किस कमांड का उपयोग किया जा सकता है?
अधिमानतः विंडोज या ओपन सोर्स / फ्री टूल्स में निर्मित कुछ।


1
एक त्वरित Google खोज ने इसे बदल दिया । यह विंडोज़ में काम करता है (यह स्पष्ट नहीं है कि क्या आपका मतलब है कि आप विंडोज का उपयोग कर रहे हैं, या ओएस वास्तव में डॉस है)।
जेरेमी

26
जब तक आप विंडोज़ (ME या उससे पहले) का वास्तव में पुराना संस्करण नहीं चला रहे हैं, तब तक विंडोज़ कमांड लाइन DOS नहीं है। :)
टायलर मैकहेनरी

किसी फ़ाइल को अनज़िप करने का सबसे आसान तरीका unzip.exe का उपयोग करना है। उदाहरण: unzip.exe source.zip -d target_dir। URL: stahlworks.com/dev/index.php?tool=zipunzip
zappee

2
Powershell5 के साथ विंडोज देशी रूप से कर सकता है Exand-Archiveऔर Compress-Archiveजहाँ मान सम्मान है वहाँ सम्मान।
लॉसमनोस

1
अनज़िप [फ़ाइल नाम]। ज़िप
अमरानुर रहमान

जवाबों:


53

आप उपयोग कर सकते हैं:

http://membrane.com/synapse/library/pkunzip.html

या

7zip: http://www.7-zip.org/download.html

मुफ्त बाइट ज़िप: http://www.freebyte.com/fbzip/

या infozip: http://infozip.sourceforge.net/


11
सूचीबद्ध पहला URL एक सही 16-बिट अनुप्रयोग है, इस प्रकार x64 ऑपरेटिंग सिस्टम पर काम नहीं करता है। बिलकुल चौकन्ना।
मार्क हेंडरसन

38
यदि आप विंडोज 7 या 10 पर हैं, तो आप इसे इस्तेमाल कर सकते हैं:powershell.exe -NoP -NonI -Command "Expand-Archive '.\file.zip' '.\unziped\'"
AK_

@AK_ विंडोज 8 या 8.1 के बारे में क्या?
फ्रैंक वू

2
@AK_ आपको इसका खुद ही जवाब देना चाहिए।
ब्रेनस्टोन

221

यदि आपके पास पहले से ही अपने पीसी पर जावा है, और बिन निर्देशिका आपके रास्ते में है (ज्यादातर मामलों में), तो आप कमांड लाइन का उपयोग कर सकते हैं:

jar xf test.zip

या अगर आपके रास्ते में नहीं है:

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

यहां उपलब्ध जार टूल के विकल्पों का पूरा सेट ।

उदाहरण:

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

37
एक संकेत। आपको JDK की आवश्यकता है, न कि केवल JRE की अगर आप जार का उपयोग करना चाहते हैं।
क्यूबिन

1
यह अजीब है, एम जार वास्तव में समस्या को आंशिक रूप से हल करता है, क्योंकि यह संग्रह के अंदर फ़ाइलों को सूचीबद्ध करने और निर्दिष्ट फ़ाइलों को निकालने में सक्षम है, हालांकि, एक ही समय में सभी फ़ाइलों को निकालना संभव नहीं है ... बहुत अजीब
मीकस

@ मिक्सस: क्यों नहीं, बस कमांड का उपयोग करें <code> jar.exe xvf Compressed.zip </ code>
Xinus

1
java.io.FileNotFoundException: test.zip (सिस्टम निर्दिष्ट फ़ाइल नहीं ढूँढ सकता है)
markj

क्या गंतव्य फ़ोल्डर निर्दिष्ट करने का कोई तरीका है? (जैसे जब आप निकालने के लिए विकल्प चुनते हैं)?
लियोनार्डो अल्वेस मचाडो

41

सबसे पहले, विंडोज़ में देशी अनज़िप कार्यक्षमता को ट्रिगर करने के लिए vbscript का उपयोग करके एक अनज़िप उपयोगिता लिखें। फिर अपनी बैच फ़ाइल के भीतर से स्क्रिप्ट को पाइप करें और फिर कॉल करें। फिर यह उतना ही अच्छा है जितना कि अकेले खड़े रहना। मैंने इसे कई कार्यों के लिए अतीत में किया है। इस तरह उसे तीसरे पक्ष के अनुप्रयोगों की आवश्यकता नहीं है, बस एक बैच फ़ाइल जो सब कुछ करती है।

मैंने अपने ब्लॉग पर एक उदाहरण दिया कि कैसे एक बैच फ़ाइल का उपयोग करके फ़ाइल को अनज़िप किया जाए :

' 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"

इसे इस तरह उपयोग करें:

cscript //B j_unzip.vbs zip_file_name_goes_here.zip

3
आमतौर पर अपने उत्तर में कोड डालना अच्छा माना जाता है, और आमतौर पर कोड के लिए लिंक करना बुरा होता है - बस एक सिर!
रिच ब्रैडशॉ

39

7-ज़िप , यह खुला स्रोत है, मुफ़्त है और प्रारूपों की एक विस्तृत श्रृंखला का समर्थन करता है।

7z.exe x myarchive.zip

1
यदि पहले से निकाली गई सामग्री मौजूद है, और आप बिना संकेत दिए मौजूदा सामग्रियों को ओवरराइड करना चाहते हैं, तो "7z.exe x -y myarchive.zip" का उपयोग करें
Suketu Bhuta

22

जैसा कि अन्य ने कहा है, 7-ज़िप महान है।

नोट: मैं ज़िप करने जा रहा हूं और फिर एक फाइल अनज़िप करूंगा। सबसे नीचे अनज़िप है।

मेरा योगदान:

लाओ

7-जिप कमांड लाइन संस्करण

वर्तमान URL

http://www.7-zip.org/download.html

वाक्य रचना?

आप एक .bat फ़ाइल में निम्नलिखित डाल सकते हैं

"C:\Program Files\7-Zip\7z.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256

मैंने कुछ विकल्प दिखाए हैं।

-r पुनरावर्ती है। आमतौर पर आप ज़िप कार्यक्षमता के साथ क्या चाहते हैं।

a "संग्रह" के लिए है। यह आउटपुट ज़िप फ़ाइल का नाम है।

-p पासवर्ड के लिए है (वैकल्पिक)

-w एक स्रोत निर्देशिका है। यह आपकी फ़ाइलों को अतिरिक्त फ़ोल्डर जानकारी के बिना ज़िप फ़ाइल में सही ढंग से घोंसला देगा।

-em एन्क्रिप्शन शक्ति है।

और भी हैं। लेकिन ऊपर आपको दौड़ता हुआ मिलेगा।

नोट: जब पासवर्ड को Windows Explorer के माध्यम से देखने की बात आती है, तो पासवर्ड जोड़ने से ज़िप फ़ाइल अप्रचलित हो जाएगी। फ़ाइल की सामग्री को देखने के लिए क्लाइंट को 7-ज़िप (या winzip या अन्य) की अपनी प्रति की आवश्यकता हो सकती है।

EDIT :::::::::::: (सिर्फ अतिरिक्त सामान)।

एक "कमांड लाइन" संस्करण है जो शायद इसके लिए बेहतर अनुकूल है: http://www.7-zip.org/download.html

(वर्तमान (लेखन के समय) सीधा लिंक) http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download

तो ज़िप कमांड (7 ज़िप टूल के कमांड लाइन संस्करण के साथ) होगा।

"C:\WhereIUnzippedCommandLineStuff\7za.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256

अब अनज़िप भाग : (आपके द्वारा अभी बनाई गई फ़ाइल को अनज़िप करने के लिए)

"C:\WhereIUnzippedCommandLineStuff\7zipCommandLine\7za.exe" e MySuperCoolZipFile.zip "*.*" -oC:\SomeOtherFolder\MyUnzippedFolder -pmypassword -y -r

"ई" तर्क के विकल्प के रूप में, कुल्हाड़ी तर्क है।

  e: Extract files from archive (without using directory names)
  x: eXtract files with full paths

यहाँ प्रलेखन:

http://sevenzip.sourceforge.jp/chm/cmdline/commands/extract.htm


11

धन्यवाद रिच, मैं उस पर ध्यान दूंगा। तो यहाँ मेरे अपने समाधान के लिए स्क्रिप्ट है। इसके लिए किसी थर्ड पार्टी अनज़िप टूल की आवश्यकता नहीं है।

फ़ंक्शन बनाने के लिए बैच फ़ाइल की शुरुआत में नीचे दी गई स्क्रिप्ट शामिल करें, और फिर फ़ंक्शन को कॉल करने के लिए, कमांड है ... cscript /B j_unzip.vbs zip_file_name_goes_here.zip

यहाँ शीर्ष पर जोड़ने के लिए स्क्रिप्ट है ...

REM विस्टा और 7 संगतता के लिए वर्तमान निर्देशिका में वापस काम कर रहे फ़ोल्डर को बदलना
% ~ D0
सीडी% ~ dp0
रेम फोल्डर बदल गया

REM इस स्क्रिप्ट upzip की फाइलें ...

    > j_unzip.vbs ECHO '
    >> j_unzip.vbs ECHO 'एक फ़ाइल स्क्रिप्ट खोलना
    >> j_unzip.vbs ECHO '
    >> j_unzip.vbs ECHO 'यह एक गड़बड़ है, मुझे पता है !!!
    >> j_unzip.vbs ECHO '
    >> j_unzip.vbs ECHO।
    >> j_unzip.vbs ECHO 'Dim ArgObj, var1, var2
    >> j_unzip.vbs ECHO सेट करें ArgObj = WScript.Arguments
    >> j_unzip.vbs ECHO।
    >> j_unzip.vbs ECHO अगर (Wscript.Arguments.Count ^> 0) तब
    >> j_unzip.vbs ECHO। var1 = ArgObj (0)
    >> j_unzip.vbs ECHO Else
    >> j_unzip.vbs ECHO। var1 = ""
    >> j_unzip.vbs ECHO अंत यदि
    >> j_unzip.vbs ECHO।
    >> j_unzip.vbs ECHO अगर var1 = "" तब
    >> j_unzip.vbs ECHO। strFileZIP = "example.zip"
    >> j_unzip.vbs ECHO Else
    >> j_unzip.vbs ECHO। strFileZIP = var1
    >> j_unzip.vbs ECHO अंत यदि
    >> j_unzip.vbs ECHO।
    >> j_unzip.vbs ECHO 'ज़िप फ़ाइल का स्थान।
    >> j_unzip.vbs ECHO REM सेट WshShell = CreateObject ("Wscript.Shell")
    >> j_unzip.vbs ECHO REM कुर्दिर = WshShell.ExpandEnvironmentStrings ("%% cd %%")
    >> j_unzip.vbs ECHO मंद sCurPath
    >> j_unzip.vbs ECHO sCurPath = CreateObject ("Scripting.FileSystemObject")। GetAbsolutePathName ("।"
    >> j_unzip.vbs ECHO strZipFile = sCurPath ^ & "\" ^ और strFileZIP
    >> j_unzip.vbs ECHO 'फ़ोल्डर में सामग्री को निकाला जाना चाहिए।
    >> j_unzip.vbs ECHO outFolder = sCurPath ^ & "\"
    >> j_unzip.vbs ECHO।
    >> j_unzip.vbs ECHO। WScript.Echo ("एक्सट्रैक्टिंग फ़ाइल" ^ और strFileZIP)
    >> j_unzip.vbs ECHO।
    >> j_unzip.vbs ECHO सेट objShell = CreateObject ("Shell.Application")
    >> j_unzip.vbs ECHO सेट objSource = objShell.NameSpace (strZipFile) .Items ()।
    >> j_unzip.vbs ECHO सेट objTarget = objShell.NameSpace (आउटफिट)
    >> j_unzip.vbs ECHO intOptions = 256
    >> j_unzip.vbs ECHO objTarget.CopyHere objSource, परिचय
    >> j_unzip.vbs ECHO।
    >> j_unzip.vbs ECHO। WScript.Echo ("निकाला गया")
    >> j_unzip.vbs ECHO।

2
सुंदर :) मैं इसका इस्तेमाल 7zip कमांड लाइन (जिसका निष्पादन योग्य ज़िपित है (कितना अजीब है) डाउनलोड करने के लिए करता हूं
सेबस्टियन

यह उम्मीद के मुताबिक काम कर रहा है, अब मैं किसी भी फ़ोल्डर को ज़िप कर सकता हूं और इसका उपयोग करके एक्सएक्सप्रेस का उपयोग कर एक्सज़ बना सकता हूं। क्या यह काम विंडोज 10 में भी होता है।
किरण कुमार

9

यहाँ अंतर्निहित विंडोज़ के लिए एक लेख है। VIP यहाँ VBscript के साथ फ़ाइल को संभालना है:

https://www.aspfree.com/c/a/Windows-Scripting/Compressed-Folders-in-WSH/

(अंतिम कोड ब्लर्ब निष्कर्षण से संबंधित है)


यह आसान नहीं है, लेकिन यह केवल देशी विंडोज़ जिप फोल्डर की कार्यक्षमता का उपयोग करके एक बहुत अच्छा समाधान प्रतीत होता है। मैं थोड़ी देर के लिए यह कुछ देख रहा था। धन्यवाद!
आंद्रे स्टीनवेल्ड

5

मूल रूप से ZIP फाइलें MSW-DOS कमांड लाइन सॉफ्टवेयर PKWare से बनाई गई थीं, दो प्रोग्राम PKZIP.EXE और PKUNZIP.EXE थे। मुझे लगता है कि आप अभी भी PKWZIP को PKWare साइट पर डाउनलोड कर सकते हैं:

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

वास्तविक कमांड लाइन कुछ इस तरह दिख सकती है:

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

1
वह पुराना है!
ग्रानैडकोडर

3

जानकारी-ज़िप से एक निष्पादन योग्य पकड़ो ।

Info-ZIP माइक्रो कंप्यूटर से लेकर क्रे सुपर कंप्यूटर तक सभी तरह के हार्डवेयर का समर्थन करता है, जो यूनिक्स, वीएमएस, ओएस / 2, विंडोज 9x / NT / etc के लगभग सभी संस्करणों पर चल रहा है। (उर्फ Win32), विंडोज 3.x, विंडोज CE, MS-DOS, AmigaDOS, अटारी टीओएस, एकोर्न RISC OS, BeOS, मैक OS, SMS / QDOS, MVS और OS / 390 OE, VM / CMS, फ्लेक्सओएस, टेंडेम NSK और Human68K (जापानी)। LynxOS, TOPS-20, AOS / VS और Novell NLMs के लिए कुछ (पुराना) समर्थन भी है। साझा लाइब्रेरी (DLL) यूनिक्स, OS / 2, Win32 और Win16 के लिए उपलब्ध हैं, और Win32, Win16, WinCE और Mac OS के लिए ग्राफिकल इंटरफेस उपलब्ध हैं।


1

नीचे दिए गए कोड को बैच फ़ाइल में कॉपी करें और निष्पादित करें। नीचे Winzip को आपकी मशीन से स्थापित / सुलभ होना चाहिए। अपनी आवश्यकता के अनुसार चर बदलें।

@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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.