คำสั่งใดบ้างที่สามารถใช้ผ่านบรรทัดคำสั่งเพื่อคลายซิปไฟล์
โดยเฉพาะอย่างยิ่งสิ่งที่มีอยู่ใน Windows หรือเครื่องมือโอเพนซอร์ส / ฟรี
Exand-Archive
เกียรติยศที่เป็นเพราะเกียรติยศ Compress-Archive
คำสั่งใดบ้างที่สามารถใช้ผ่านบรรทัดคำสั่งเพื่อคลายซิปไฟล์
โดยเฉพาะอย่างยิ่งสิ่งที่มีอยู่ใน Windows หรือเครื่องมือโอเพนซอร์ส / ฟรี
Exand-Archive
เกียรติยศที่เป็นเพราะเกียรติยศ Compress-Archive
คำตอบ:
คุณสามารถใช้:
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/
powershell.exe -NoP -NonI -Command "Expand-Archive '.\file.zip' '.\unziped\'"
หากคุณมีจาวาบนพีซีของคุณอยู่แล้วและไดเรกทอรี bin อยู่ในเส้นทางของคุณ (ในกรณีส่วนใหญ่) คุณสามารถใช้บรรทัดคำสั่ง:
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]
ประการแรกเขียนยูทิลิตี unzip โดยใช้ vbscript เพื่อทริกเกอร์การทำงานของ unzip ดั้งเดิมใน Windows จากนั้นไพพ์สคริปต์จากภายในไฟล์แบตช์ของคุณแล้วเรียกมัน ถ้าอย่างนั้นก็ดีเหมือนอยู่คนเดียว ฉันเคยทำมาแล้วหลายครั้ง วิธีนี้ไม่จำเป็นต้องมีแอปพลิเคชันของบุคคลที่สามเพียงไฟล์แบตช์เดียวที่ทำทุกอย่าง
ฉันวางตัวอย่างบนบล็อกของฉันเกี่ยวกับวิธีการแตกไฟล์โดยใช้ไฟล์แบตช์ :
' 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
7-Zipมันเป็นโอเพ่นซอร์สฟรีและรองรับหลากหลายรูปแบบ
7z.exe x myarchive.zip
อย่างที่คนอื่นพูดพาดพิง 7-zip นั้นยอดเยี่ยม
หมายเหตุ: ฉันกำลังจะ zip แล้วคลายซิปไฟล์ Unzip อยู่ที่ด้านล่าง
ผลงานของฉัน:
รับ
เวอร์ชั่นบรรทัดคำสั่ง 7-Zip
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 ซ้ำ โดยปกติแล้วสิ่งที่คุณต้องการด้วยการทำงานของ zip
a สำหรับ "เก็บถาวร" นั่นคือชื่อของไฟล์ zip ที่ส่งออก
-p สำหรับรหัสผ่าน (ตัวเลือก)
-w เป็นไดเรกทอรีแหล่งที่มา วิธีนี้จะซ้อนไฟล์ของคุณอย่างถูกต้องในไฟล์ zip โดยไม่มีข้อมูลโฟลเดอร์เพิ่มเติม
-mem คือความแรงของการเข้ารหัส
มีคนอื่น ๆ แต่ข้างต้นจะช่วยให้คุณทำงานได้
หมายเหตุ: การเพิ่มรหัสผ่านจะทำให้ไฟล์ zip ไม่เป็นมิตรเมื่อมาถึงการดูไฟล์ผ่าน Windows Explorer ลูกค้าอาจต้องการสำเนาของตนเอง 7-zip (หรือ winzip หรืออื่น ๆ ) เพื่อดูเนื้อหาของไฟล์
แก้ไข :::::::::::::( สิ่งเพิ่มเติมพิเศษ)
มีเวอร์ชัน "command line" ซึ่งน่าจะเหมาะสมกว่าสำหรับเรื่องนี้: http://www.7-zip.org/download.html
ลิงค์ปัจจุบัน (ณ เวลาที่เขียน) ลิงก์โดยตรง http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download
ดังนั้นคำสั่ง zipจะเป็น (ด้วยเวอร์ชันบรรทัดคำสั่งของเครื่องมือ zip 7)
"C:\WhereIUnzippedCommandLineStuff\7za.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
ตอนนี้ส่วน unzip : (เพื่อ unzip ไฟล์ที่คุณเพิ่งสร้างขึ้น)
"C:\WhereIUnzippedCommandLineStuff\7zipCommandLine\7za.exe" e MySuperCoolZipFile.zip "*.*" -oC:\SomeOtherFolder\MyUnzippedFolder -pmypassword -y -r
เป็นทางเลือกแทนอาร์กิวเมนต์ "e" มีอาร์กิวเมนต์ขวาน
e: Extract files from archive (without using directory names)
x: eXtract files with full paths
เอกสารที่นี่:
http://sevenzip.sourceforge.jp/chm/cmdline/commands/extract.htm
ขอบคุณมากฉันจะจดไว้ ดังนั้นนี่คือสคริปต์สำหรับโซลูชันของฉันเอง มันไม่ต้องใช้เครื่องมือคลายซิปของบุคคลที่สาม
รวมสคริปต์ด้านล่างนี้ไว้ที่จุดเริ่มต้นของไฟล์แบตช์เพื่อสร้างฟังก์ชั่นแล้วเรียกใช้ฟังก์ชันคำสั่งคือ ...
cscript /B j_unzip.vbs zip_file_name_goes_here.zip
นี่คือสคริปต์ที่จะเพิ่มไปด้านบน ...
REM เปลี่ยนโฟลเดอร์ทำงานกลับไปเป็นไดเรกทอรีปัจจุบันเพื่อให้ใช้งานได้กับ Vista และ 7 % ~ d0 CD% ~ dp0 เปลี่ยนโฟลเดอร์ REM แล้ว REM ไฟล์สคริปต์ของ upzip นี้ ... > j_unzip.vbs ECHO ' >> j_unzip.vbs ECHO 'UnZip สคริปต์ไฟล์ >> j_unzip.vbs ECHO ' >> j_unzip.vbs เอคโค 'มันเป็นเรื่องยุ่งฉันรู้ !!! >> 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 If (Wscript.Arguments.Count ^> 0) จากนั้น >> j_unzip.vbs ECHO var1 = ArgObj (0) >> j_unzip.vbs ECHO อื่น ๆ >> 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 อื่น ๆ >> j_unzip.vbs ECHO strFileZIP = var1 >> j_unzip.vbs ECHO สิ้นสุดถ้า >> j_unzip.vbs ECHO >> j_unzip.vbs ECHO 'ตำแหน่งของไฟล์ zip >> j_unzip.vbs ECHO REM ตั้งค่า WshShell = CreateObject ("Wscript.Shell") >> j_unzip.vbs ECHO REM CurDir = WshShell.End EnvironmentStrings ("%% 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 'โฟลเดอร์ที่ควรจะแตกเนื้อหา >> 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 (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 ("แยกแล้ว") >> j_unzip.vbs ECHO
มีบทความเกี่ยวกับการเดินทางไปยัง Windows .ZIP การจัดการไฟล์ด้วย VBscript ที่นี่:
https://www.aspfree.com/c/a/Windows-Scripting/Compressed-Folders-in-WSH/
(รหัสสุดท้ายประกาศแจ้งข้อเสนอด้วยการแยก)
แต่เดิมไฟล์ ZIP นั้นถูกสร้างขึ้นด้วยซอฟต์แวร์บรรทัดคำสั่ง MS-DOS จาก PKWare ทั้งสองโปรแกรมคือ PKZIP.EXE และ PKUNZIP.EXE ฉันคิดว่าคุณยังสามารถดาวน์โหลด PKUNZIP ได้ที่เว็บไซต์ PKWare ที่นี่:
http://www.pkware.com/software-pkzip/dos-compression
บรรทัดคำสั่งจริงอาจมีลักษณะดังนี้:
C:\>pkunzip c:\myzipfile.zip c:\extracttothisfolder\
Info-ZIP รองรับฮาร์ดแวร์จากไมโครคอมพิวเตอร์จนถึงซูเปอร์คอมพิวเตอร์ Cray ทำงานบน Unix, VMS, OS / 2, Windows 9x / NT / etc เกือบทุกรุ่น (aka Win32), Windows 3.x, Windows CE, MS-DOS, AmigaDOS, อาตาริ TOS, Acorn RISC OS, BeOS, Mac OS, SMS / QDOS, MVS และ OS / 390 OE, VM / CMS, FlexOS, Tandem NSK และ Human68K (ภาษาญี่ปุ่น) นอกจากนี้ยังมีการสนับสนุน (เก่า) บางอย่างสำหรับ LynxOS, TOPS-20, AOS / VS และ Novell NLMs ไลบรารีที่ใช้ร่วมกัน (DLLs) มีให้บริการสำหรับ Unix, OS / 2, Win32 และ Win16 และส่วนต่อประสานกราฟิกมีให้สำหรับ Win32, Win16, WinCE และ Mac OS
คัดลอกรหัสด้านล่างไปยังไฟล์แบตช์และดำเนินการ ด้านล่างต้องการ 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