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

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

评论

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

不知道为什么关闭它,因为它在Google上首次成为“ windows 2008 zip”的结果

^我有同样的感觉(很明显),特别是考虑到已接受的答案。

在Windows 7上,您也可以使用紧凑型

Windows内置的压缩​​/解压缩工具-stackoverflow.com/questions/28043589/…

#1 楼

它不是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.


评论


链接错误!正确的链接是:microsoft.com/downloads/…

–Lars Fastrup
09年8月26日在10:07

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

–最大
09年12月8日在15:43

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

–roufamatic
2010年6月21日在18:21

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

–卢克·桑普森(Luke Sampson)
2011年7月1日在6:15

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

–布莱恩(Bryan)
2011年7月1日在15:55

#2 楼

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

评论


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

–Electrons_Ahoy
09年7月10日在21:50

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

–克里斯
09年7月10日在22:54

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

–Electrons_Ahoy
09年7月11日在18:53

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

–布伦特·帕布斯特(Brent Pabst)
13年2月25日在19:50

#3 楼

Powershell可以。请参阅:

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

评论


甜!我认为还必须有一个Powershell解决方案。

–Electrons_Ahoy
09年7月11日在18:53

这不是命令,而是一系列脚本。虽然有效。

–拨浪鼓
19-4-27的0:25



该URL现在已损坏。

–拨浪鼓
20-04-21在20:49

#4 楼

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


#5 楼

在超级用户站点上找到的另一种解决方案使用.bat文件中的Windows本机com对象:

可以使用仅Windows的内置功能来压缩命令提示符中的文件吗?

#6 楼

更新-内部版本1803(2018年3月)
Windows 10版本1803中的命令行新增功能现在已随Windows一起内置tar.exe内置,您可以像这样使用:
 C:\temp> tar.exe -xf files.zip
 

进一步阅读

从命令行创建.zip文件夹
压缩(zip)并解压缩(unzip)文件,然后具有批处理文件的文件夹


#7 楼

为此有一个简单的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