[zip] 명령 행을 사용하여 파일을 압축 해제하는 방법은 무엇입니까? [닫은]

파일 압축을 풀기 위해 명령 줄을 통해 어떤 명령을 사용할 수 있습니까?
Windows 또는 오픈 소스 / 무료 도구에 내장 된 것이 좋습니다.



답변

당신은 사용할 수 있습니다 :

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

또는

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

빈 바이트 zip : http://www.freebyte.com/fbzip/

또는 infozip : http://infozip.sourceforge.net/


답변

PC에 이미 java가 있고 bin 디렉토리가 경로에있는 경우 (대부분의 경우) 명령 행을 사용할 수 있습니다.

jar xf test.zip

또는 경로에없는 경우 :

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

jar 도구에 대한 전체 옵션 세트는 여기에서 제공 됩니다 .

예 :

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


답변

먼저 vbscript를 사용하여 압축 해제 유틸리티를 작성하여 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은 훌륭합니다.

참고 : 파일을 압축 한 다음 압축을 풉니 다. 압축 해제가 맨 아래에 있습니다.

내 공헌 :

얻을

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은 재귀 적입니다. 일반적으로 지퍼 기능으로 원하는 것.

a는 “보관”을위한 것입니다. 출력 zip 파일의 이름입니다.

-p는 비밀번호입니다 (선택 사항).

-w는 소스 디렉토리입니다. 이렇게하면 추가 폴더 정보없이 파일이 zip 파일에 올바르게 중첩됩니다.

-mem은 암호화 강도입니다.

다른 것도 있습니다. 그러나 위의 내용으로 인해 실행됩니다.

참고 : 암호를 추가하면 Windows 탐색기를 통해 파일을 볼 때 zip 파일이 비우호적입니다. 파일 내용을 보려면 클라이언트에 7-zip (또는 winzip 또는 기타)의 사본이 필요할 수 있습니다.

편집 : : : : : : : : : : : : (추가 항목).

이에 더 적합한 “명령 줄”버전이 있습니다.
http://www.7-zip.org/download.html

(현재 (작성 당시) 직접 링크)
http://sourceforge.net/projects/sevenzip/files/7-Zip/9.20/7za920.zip/download

따라서 zip 명령 은 (7 zip 도구의 명령 행 버전과 함께)됩니다.

"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”인수에 대한 대안으로 ax 인수가 있습니다.

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

여기에 설명서 :

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


답변

고마워 Rich, 나는 그것을 주목할 것이다. 그래서 여기 내 자신의 솔루션에 대한 스크립트가 있습니다. 타사 압축 풀기 도구가 필요하지 않습니다.

배치 파일의 시작 부분에 아래 스크립트를 포함시켜 함수를 만든 다음 함수를 호출하려면 명령은 다음과 같습니다.
cscript /B j_unzip.vbs zip_file_name_goes_here.zip

상단에 추가 할 스크립트는 다음과 같습니다.

REM Vista 및 7 호환성을 위해 작업 폴더를 현재 디렉토리로 다시 변경
% ~ d0
CD % ~ dp0
REM 폴더가 변경되었습니다

REM이 스크립트 파일은 ...

    > 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 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 End if
    >> 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 End if
    >> 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.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 '내용을 추출 할 폴더입니다.
    >> 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.


답변

VBscript를 사용하여 기본 제공 Windows .ZIP 파일 처리에 대한 기사가 있습니다.

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

(마지막 코드 흐림은 추출을 처리합니다)