题 Windows是否具有命令行的内置ZIP命令?


由于Windows资源管理器(至少从Windows XP)对ZIP文件有一些基本的支持,似乎应该有一个等效的命令行,但我似乎找不到任何一个的迹象。

Windows(XP,Vista,7,8,2003,2008,2013)是否附带内置命令行zip工具,还是需要坚持使用第三方工具?


111
2017-07-10 18:30




我不完全确定为什么这个问题被关闭了。这经常以“如何压缩我的日志?”的形式出现,这绝对是“操作,维护和监控”。我想,这个问题可以改写为更窄,但解决方案是一般性的。 - alficles
不知道为什么这是关闭,因为它是谷歌的第一个打击“windows 2008 zip” - AlSki
^我有同样的感觉(清楚),特别是考虑到接受的答案。 - Electrons_Ahoy
在Windows 7上,您也可以使用 compact - jyz
Windows内置压缩/解压缩工具 - stackoverflow.com/questions/28043589/... - npocmaka


答案:


它不是内置在Windows中,而是在Windows中 资源工具包工具 如 COMPRESS

C:\>compress /?

Syntax:

COMPRESS [-R] [-D] [-S] [ -Z | -ZX ] Source Destination
COMPRESS -R [-D] [-S] [ -Z | -ZX ] Source [Destination]

Description:
Compresses one or more files.

Parameter List:
-R Rename compressed files.

-D Update compressed files only if out of date.

-S Suppress copyright information.

-ZX LZX compression. This is default compression.

-Z MS-ZIP compression.

Source Source file specification. Wildcards may be
used.

Destination Destination file | path specification.
Destination may be a directory. If Source is
multiple files and -r is not specified,
Destination must be a directory.

例子:

COMPRESS temp.txt compressed.txt
COMPRESS -R *.*
COMPRESS -R *.exe *.dll compressed_dir

56
2017-07-10 18:37



瞬间!我们去!谢谢! - Electrons_Ahoy
错误的链接!正确的链接是: microsoft.com/downloads/... - Lars Fastrup
这可以在Windows Server 2008上使用吗? - Max
这与可用的ZIP客户端相差甚远。您无法压缩文件夹,似乎无法将压缩文件添加到现有存档。避免。 - roufamatic
压缩实际上不是ZIP客户端。它会创建您在MS-DOS和Windows 3.11 / 95安装磁盘上找到的文件。例如WINSOCK.DL_扩展为WINSOCK.DLL。您可以使用解压缩文件 expand。 - Bryan


不是我知道的。就第三方工具而言,7zip有一个非常好的命令行界面,二进制文件可以与您的应用程序一起分发到应用程序的目录中,因此您不必依赖它提前安装。


24
2017-07-10 18:33



我是7Zip的忠实粉丝,但目前的问题是在我没有安装权限的机器上,并且没有安装第三方zip小部件。谢谢,但是。 - Electrons_Ahoy
就像我说的,你不必安装它。将二进制文件复制到某个文件夹并从那里运行它。 - Chris
好吧,你和我不考虑安装。但是,如果您知道我的意思,那么有问题的IT经理会这样做。 :) - Electrons_Ahoy
哈,所以从远程网络共享运行7zip二进制文件:) - Brent Pabst


Powershell确实如此。看到:

使用Windows PowerShell压缩文件,然后打包Windows Vista边栏小工具


21
2017-07-11 08:29



甜!我想还必须有一个PowerShell解决方案。 - Electrons_Ahoy


.Net 4.5内置了此功能,PowerShell可以利用它。您需要使用Server 2012,Windows 8或手动安装.Net 4.5。

[Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem")
$Compression = [System.IO.Compression.CompressionLevel]::Optimal
$IncludeBaseDirectory = $false

$Source = "C:\Path\To\Source"
$Destination = "C:\CoolPowerShellZipFile.zip"

[System.IO.Compression.ZipFile]::CreateFromDirectory($Source,$Destination,$Compression,$IncludeBaseDirectory)

13
2018-02-25 19:50





在超级用户站点上找到的另一个解决方案是在.bat文件中使用windows native com对象:

您是否可以使用Windows内置的zip文件功能从命令提示符压缩文件?


6
2018-02-03 14:26