Których poleceń można użyć w wierszu poleceń, aby rozpakować plik?
Najlepiej coś wbudowanego w Windows lub open source / darmowe narzędzia.
Exand-Archive
i Compress-Archive
. Honor tam, gdzie należy się honor.
Których poleceń można użyć w wierszu poleceń, aby rozpakować plik?
Najlepiej coś wbudowanego w Windows lub open source / darmowe narzędzia.
Exand-Archive
i Compress-Archive
. Honor tam, gdzie należy się honor.
Odpowiedzi:
Możesz użyć:
http://membrane.com/synapse/library/pkunzip.html
lub
7zip: http://www.7-zip.org/download.html
Darmowy zip bajtów : http://www.freebyte.com/fbzip/
lub infozip: http://infozip.sourceforge.net/
powershell.exe -NoP -NonI -Command "Expand-Archive '.\file.zip' '.\unziped\'"
Jeśli masz już Javę na swoim komputerze, a katalog bin znajduje się w Twojej ścieżce (w większości przypadków), możesz użyć wiersza poleceń:
jar xf test.zip
lub jeśli nie na twojej drodze:
C:\Java\jdk1.6.0_03\bin>jar xf test.zip
Pełny zestaw opcji narzędzia jar dostępny tutaj .
Przykłady:
Extract jar file
jar x[v]f jarfile [inputfiles] [-Joption]
jar x[v] [inputfiles] [-Joption]
Po pierwsze, napisz narzędzie do rozpakowywania za pomocą vbscript, aby uruchomić natywną funkcję rozpakowywania w systemie Windows. Następnie wypuść skrypt z pliku wsadowego i wywołaj go. Wtedy jest tak dobre, jak samodzielne. Robiłem to w przeszłości dla wielu zadań. W ten sposób nie wymaga aplikacji innych firm, wystarczy jeden plik wsadowy, który robi wszystko.
Na swoim blogu umieściłem przykład, jak rozpakować plik za pomocą pliku wsadowego :
' 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"
Użyj tego w ten sposób:
cscript //B j_unzip.vbs zip_file_name_goes_here.zip
7-Zip , jest open source, darmowy i obsługuje szeroką gamę formatów.
7z.exe x myarchive.zip
Jak wspominali inni, zamek 7-suwakowy jest świetny.
Uwaga: mam zamiar spakować, a następnie rozpakować plik. Rozpakuj na dole.
Mój wkład:
Uzyskać
Wersja 7-Zip Command Line
Bieżący adres URL
http://www.7-zip.org/download.html
Składnia?
Możesz umieścić następujące elementy w pliku .bat
"C:\Program Files\7-Zip\7z.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
Pokazałem kilka opcji.
-r jest rekurencyjny. Zwykle to, co chcesz z funkcją zip.
a oznacza „archiwum”. To nazwa wyjściowego pliku zip.
-p jest hasłem (opcjonalnie)
-w jest katalogiem źródłowym. Spowoduje to prawidłowe zagnieżdżenie plików w pliku zip, bez dodatkowych informacji o folderze.
-mem jest siłą szyfrowania.
Są inni. Ale powyższe sprawi, że będziesz biegać.
UWAGA: Dodanie hasła spowoduje, że plik zip będzie nieprzyjazny podczas przeglądania pliku w Eksploratorze Windows. Klient może potrzebować własnej kopii 7-zip (lub winzip lub innego), aby wyświetlić zawartość pliku.
EDYCJA ::::::::::: :( tylko dodatkowe rzeczy).
Istnieje wersja "wiersza poleceń", która prawdopodobnie lepiej się do tego nadaje: http://www.7-zip.org/download.html
(aktualny (w momencie pisania) bezpośredni link) http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download
Tak więc polecenie zip byłoby (z wersją wiersza poleceń narzędzia 7 zip).
"C:\WhereIUnzippedCommandLineStuff\7za.exe" a MySuperCoolZipFile.zip "C:\MyFiles\*.jpg" -pmypassword -r -w"C:\MyFiles\" -mem=AES256
Teraz część do rozpakowania: (aby rozpakować właśnie utworzony plik)
"C:\WhereIUnzippedCommandLineStuff\7zipCommandLine\7za.exe" e MySuperCoolZipFile.zip "*.*" -oC:\SomeOtherFolder\MyUnzippedFolder -pmypassword -y -r
Alternatywą dla argumentu „e” jest argument ax.
e: Extract files from archive (without using directory names)
x: eXtract files with full paths
Dokumentacja tutaj:
http://sevenzip.sourceforge.jp/chm/cmdline/commands/extract.htm
Dzięki Rich, zwrócę na to uwagę. Oto skrypt mojego własnego rozwiązania. Nie wymaga narzędzi do rozpakowywania innych firm.
Dołącz poniższy skrypt na początku pliku wsadowego, aby utworzyć funkcję, a następnie, aby wywołać funkcję, polecenie jest ...
cscript /B j_unzip.vbs zip_file_name_goes_here.zip
Oto skrypt, który należy dodać do góry ...
REM Zmiana folderu roboczego z powrotem na katalog bieżący w celu zapewnienia zgodności z Vista i 7 % ~ d0 CD% ~ dp0 Folder REM został zmieniony REM Ten skrypt upzip's pliki ... > j_unzip.vbs ECHO ' >> j_unzip.vbs ECHO 'Rozpakuj plik skryptu >> j_unzip.vbs ECHO ' >> j_unzip.vbs ECHO 'To bałagan, wiem !!! >> j_unzip.vbs ECHO ' >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO 'Dim ArgObj, var1, var2 >> j_unzip.vbs ECHO Ustaw ArgObj = WScript.Arguments >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO Jeśli (Wscript.Arguments.Count ^> 0) Następnie >> j_unzip.vbs ECHO. var1 = ArgObj (0) >> j_unzip.vbs ECHO Else >> j_unzip.vbs ECHO. var1 = „” >> j_unzip.vbs ECHO Zakończ, jeśli >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO Jeśli var1 = "" to >> j_unzip.vbs ECHO. strFileZIP = "example.zip" >> j_unzip.vbs ECHO Else >> j_unzip.vbs ECHO. strFileZIP = var1 >> j_unzip.vbs ECHO Zakończ, jeśli >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO 'Lokalizacja pliku zip. >> j_unzip.vbs ECHO REM Ustaw 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, do którego zawartość powinna zostać wypakowana. >> j_unzip.vbs ECHO outFolder = sCurPath ^ & "\" >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO. WScript.Echo ("Wyodrębnianie pliku" ^ & strFileZIP) >> j_unzip.vbs ECHO. >> j_unzip.vbs ECHO Ustaw objShell = CreateObject ("Shell.Application") >> j_unzip.vbs ECHO Ustaw objSource = objShell.NameSpace (strZipFile) .Items () >> j_unzip.vbs ECHO Ustaw 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 („Wyodrębniono”) >> j_unzip.vbs ECHO.
W tym miejscu znajduje się artykuł dotyczący obsługi wbudowanej obsługi plików ZIP w systemie Windows za pomocą VBscript:
https://www.aspfree.com/c/a/Windows-Scripting/Compressed-Folders-in-WSH/
(Ostatnia notka kodu dotyczy ekstrakcji)
Pierwotnie pliki ZIP były tworzone za pomocą oprogramowania wiersza poleceń MS-DOS z PKWare, dwoma programami były PKZIP.EXE i PKUNZIP.EXE. Myślę, że nadal możesz pobrać PKUNZIP ze strony PKWare tutaj:
http://www.pkware.com/software-pkzip/dos-compression
Rzeczywista linia poleceń może wyglądać mniej więcej tak:
C:\>pkunzip c:\myzipfile.zip c:\extracttothisfolder\
Pobierz plik wykonywalny z info-zip .
Info-ZIP obsługuje sprzęt od mikrokomputerów po superkomputery Cray, działające na prawie wszystkich wersjach Unix, VMS, OS / 2, Windows 9x / NT / itp. (aka Win32), Windows 3.x, Windows CE, MS-DOS, AmigaDOS, Atari TOS, Acorn RISC OS, BeOS, Mac OS, SMS / QDOS, MVS i OS / 390 OE, VM / CMS, FlexOS, Tandem NSK i Human68K (japoński). Dostępna jest również (stara) obsługa LynxOS, TOPS-20, AOS / VS i Novell NLM. Biblioteki współdzielone (DLL) są dostępne dla systemów Unix, OS / 2, Win32 i Win16, a interfejsy graficzne są dostępne dla systemów Win32, Win16, WinCE i Mac OS.
Skopiuj poniższy kod do pliku wsadowego i wykonaj. Poniższe wymaga zainstalowania / dostępu Winzip z twojego komputera. Zmieniaj zmienne zgodnie z potrzebami.
@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