Есть ли в Windows встроенная команда ZIP для командной строки?

119

Поскольку Windows Explorer (хотя бы Windows XP) имеет некоторую базовую поддержку ZIP-файлов, похоже, что должен быть эквивалент командной строки, но я не могу найти никаких признаков его наличия.

Windows (XP, Vista, 7, 8, 2003, 2008, 2013) поставляется со встроенным инструментом командной строки zip, или мне нужно использовать сторонние инструменты?

Electrons_Ahoy
источник
5
Я не совсем уверен, почему этот вопрос закрыт. Это часто встречается в форме «Как сжать мои журналы?», Что определенно означает «Эксплуатация, обслуживание и мониторинг». Я полагаю, что вопрос можно перефразировать, чтобы он был более узким, но решения являются общими.
alficles
3
Не уверен, почему это закрыто, поскольку это первый хит на Google для "Windows 2008 Zip"
AlSki
2
^ Я чувствую то же самое (ясно), особенно учитывая принятый ответ.
Electrons_Ahoy
1
На Windows 7 вы также можете использоватьcompact
JYZ
Встроенные
утилиты

Ответы:

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
Bryan
источник
1
Неверная ссылка! Правильные ссылки: microsoft.com/downloads/…
Ларс Фаструп
1
Можно ли это использовать и на Windows Server 2008?
Макс.
7
Это далеко от используемого ZIP-клиента. Вы не можете сжимать папки, и, похоже, нет способа добавить сжатые файлы в существующий архив. Избегайте.
roufamatic
Кто-нибудь еще получит «Сжатая (Zipped) папка недействительна или повреждена», если дважды щелкнуть файл, сжатый этим методом?
Люк Сэмпсон
4
Сжатие на самом деле не является ZIP-клиентом. Он создает те файлы, которые вы использовали для поиска на установочных дисках MS-DOS и Windows 3.11 / 95. например, WINSOCK.DL_ расширяется до WINSOCK.DLL. Вы можете распаковать файлы используя expand.
Брайан
25

Не то, чтобы я знал. Что касается сторонних инструментов, 7zip имеет довольно приятный интерфейс командной строки, и двоичный файл можно распространять вместе с вашим приложением в каталоге приложения, так что вам не нужно полагаться на его установку заранее.

Крис
источник
Я большой поклонник 7Zip, но текущая проблема связана с машиной, на которой у меня нет прав на установку, и не установлен сторонний виджет zip. Спасибо хоть.
Electrons_Ahoy
5
Как я уже сказал, вам не нужно устанавливать его. Скопируйте двоичный файл в папку где-нибудь и запустите его оттуда.
Крис
1
Ну, мы с тобой не считаем это установкой. Однако ИТ-менеджер, если вы знаете, что я имею в виду. :)
Electrons_Ahoy
2
Ха, так что запусти бинарный файл 7zip из удаленного сетевого ресурса :)
Brent Pabst
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)
MDMarra
источник
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

cowlinator
источник