如何使用命令行解压缩文件?

157 zip cmd

我可以通过命令行解压缩文件吗?最好使用开源/免费工具.

Bri*_*ian 211

如果您的PC上已有java,并且bin目录位于您的路径中(在大多数情况下),您可以使用命令行:

jar xf test.zip
Run Code Online (Sandbox Code Playgroud)

或者如果不在你的道路上:

C:\Java\jdk1.6.0_03\bin>jar xf test.zip
Run Code Online (Sandbox Code Playgroud)

这里提供了jar工具的完整选项集.

例子:

Extract jar file
    jar x[v]f jarfile [inputfiles] [-Joption] 
    jar x[v] [inputfiles] [-Joption]
Run Code Online (Sandbox Code Playgroud)

  • 一个提示.如果你想使用jar,你需要JDK,而不仅仅是JRE. (32认同)

Red*_*mer 49

你可以使用:

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/

  • 如果你在Windows 7或10上使用powershell,你可以使用:`powershell.exe -NoP -NonI -Command"Expand-Archive'.\ file.zip''.\ unziped \'"` (31认同)
  • 列出的第一个URL是真正的16位应用程序,因此不适用于x64操作系统.只是一个抬头. (10认同)
  • @AK_你应该把它作为自己的答案。 (2认同)
  • 在较新的 Windows 版本中,您可以使用 tar - 非常简单 (2认同)

小智 39

首先,使用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"
Run Code Online (Sandbox Code Playgroud)

像这样使用它:

cscript //B j_unzip.vbs zip_file_name_goes_here.zip
Run Code Online (Sandbox Code Playgroud)

  • 将代码放入您的答案通常被认为是好的,并且通常很难链接代码 - 只是抬头! (3认同)

nin*_*ded 37

7-Zip,它是开源的,免费的,支持多种格式.

7z.exe x myarchive.zip
Run Code Online (Sandbox Code Playgroud)


gra*_*der 21

正如其他人所提到的,7-zip非常棒.

注意:我要压缩然后解压缩文件.解压缩在底部.

我的贡献:

得到

7-Zip命令行版本

当前网址

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
Run Code Online (Sandbox Code Playgroud)

我已经展示了一些选择.

-r是递归的.通常你想要的拉链功能.

a代表"存档".这是输出zip文件的名称.

-p用于密码(可选)

-w是源目录.这将正确地将您的文件嵌套在zip文件中,而无需额外的文件夹信息.

-mem是加密强度.

还有其他人.但是上面的内容会让你跑步.

注意:添加密码会使zip文件在通过Windows资源管理器查看文件时不友好.客户端可能需要自己的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
Run Code Online (Sandbox Code Playgroud)

现在解压缩部分 :(解压缩你刚刚创建的文件)

"C:\WhereIUnzippedCommandLineStuff\7zipCommandLine\7za.exe" e MySuperCoolZipFile.zip "*.*" -oC:\SomeOtherFolder\MyUnzippedFolder -pmypassword -y -r
Run Code Online (Sandbox Code Playgroud)

文档在这里:

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


小智 10

谢谢里奇,我会注意到这一点.所以这是我自己的解决方案的脚本.它不需要第三方解压缩工具.

在批处理文件的开头包含下面的脚本来创建函数,然后调用该函数,命令是...... cscript /B j_unzip.vbs zip_file_name_goes_here.zip

这是添加到顶部的脚本...

REM Changing working folder back to current directory for Vista & 7 compatibility
%~d0
CD %~dp0
REM Folder changed

REM This script upzip's files...

    > j_unzip.vbs ECHO '
    >> j_unzip.vbs ECHO ' UnZip a file script
    >> j_unzip.vbs ECHO '
    >> j_unzip.vbs ECHO ' It's a mess, I know!!!
    >> 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) Then
    >> j_unzip.vbs ECHO. var1 = ArgObj(0)
    >> j_unzip.vbs ECHO Else
    >> j_unzip.vbs ECHO. var1 = ""
    >> j_unzip.vbs ECHO End if
    >> j_unzip.vbs ECHO.
    >> j_unzip.vbs ECHO If var1 = "" then
    >> j_unzip.vbs ECHO. strFileZIP = "example.zip"
    >> j_unzip.vbs ECHO Else
    >> j_unzip.vbs ECHO. strFileZIP = var1
    >> j_unzip.vbs ECHO End if
    >> j_unzip.vbs ECHO.
    >> j_unzip.vbs ECHO 'The location of the zip file.
    >> 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 'The folder the contents should be extracted to.
    >> j_unzip.vbs ECHO outFolder = sCurPath ^& "\"
    >> j_unzip.vbs ECHO.
    >> j_unzip.vbs ECHO. WScript.Echo ( "Extracting 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 Set 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 ( "Extracted." )
    >> j_unzip.vbs ECHO.

  • 美丽:)我用这个下载7zip命令行(其可执行文件是压缩的(多么奇怪)) (2认同)

Jon*_*ley 8

有一篇关于使用VBscript处理内置Windows .ZIP文件的文章:

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

(最后一个代码模糊处理提取)


Mic*_*iel 6

ZIP 文件最初是用 PKWare 的 MS-DOS 命令行软件创建的,这两个程序是 PKZIP.EXE 和 PKUNZIP.EXE。我认为您仍然可以在此处的 PKWare 站点下载 PKUNZIP:

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

实际的命令行可能如下所示:

C:\>pkunzip c:\myzipfile.zip c:\extracttothisfolder\
Run Code Online (Sandbox Code Playgroud)