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


119

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

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


5
我不完全确定为什么这个问题已经结束。这经常以“我如何压缩我的日志?”的形式出现,它绝对是“操作,维护和监视”。我想这个问题可以改写为更狭窄的范围,但是解决方案是通用的。
alficles'July

3
不知道为什么关闭它,因为它首次在Google上投放“ Windows 2008 zip”
AlSki 2012年

2
^(显然)我有同样的感觉,尤其是考虑到已接受的答案。
Electrons_Ahoy

1
在Windows 7上,您也可以使用compact
jyz 2013年

Windows自带的压缩/解压缩utils的- stackoverflow.com/questions/28043589/...
npocmaka

Answers:


56

它不是Windows内置的,而是在Resource Kit Tools中的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

1
链接错误!正确的链接是:microsoft.com/downloads/...
拉斯Fastrup

1
也可以在Windows Server 2008上使用吗?
最多

7
这与可用的ZIP客户端相去甚远。您无法压缩文件夹,并且似乎无法将压缩文件添加到现有存档中。避免。
roufamatic 2010年

双击使用此方法压缩的文件时,其他人会得到“压缩(Zipped)文件夹无效或损坏”吗?
路加·桑普森

4
Compress实际上不是ZIP客户端。它创建您用来在MS-DOS和Windows 3.11 / 95安装磁盘上查找的那些文件。例如WINSOCK.DL_扩展为WINSOCK.DLL。您可以使用来解压缩文件expand
布赖恩

25

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


我是7Zip的忠实拥护者,但是当前问题是在没有安装权限的计算机上,并且没有安装第3方zip小部件。谢谢,不过。
Electrons_Ahoy

5
就像我说的,您不必安装它。将二进制文件复制到某个文件夹中,然后从那里运行它。
克里斯,2009年

1
好吧,您和我不认为该安装。但是,如果您知道我的意思,那么有问题的IT经理可以。:)
Electrons_Ahoy

2
哈,所以从远程网络共享中运行7zip二进制文件:)
Brent Pabst 2013年


13

.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)


0

为此有一个简单的PowerShell命令。(PowerShell v5.0 +)

要压缩:

Compress-Archive -LiteralPath 'C:\mypath\testfile.txt' -DestinationPath "C:\mypath\Test.zip"

解压缩:

Expand-Archive -LiteralPath "C:\mypath\Test.Zip" -DestinationPath "C:\mypath" -Force

资料来源:

特别感谢@Ramhound

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.