Чи в Windows є вбудована команда ZIP для командного рядка?


119

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

Чи постачається Windows (XP, Vista, 7, 8, 2003, 2008, 2013) із вбудованим інструментом ZIP, чи мені потрібно дотримуватися сторонні інструменти?


5
Я не зовсім впевнений, чому це питання закрите. Це часто виникає у формі "Як стискати журнали?", Що, безумовно, "Експлуатація, обслуговування та моніторинг". Питання може бути перефразоване як вузьке, я думаю, але рішення загальні.
— alficles

3
Не впевнений, чому це закрито, оскільки його перший хіт в Google для "zip 2008 zip"
— AlSki

2
^ Я почуваюсь так само (чітко), особливо зважаючи на прийняту відповідь.
— Electrons_Ahoy

1
У Windows 7 ви також можете використовуватиcompact
— jyz

Вікна вбудованої компрес / розтискати утиліти - stackoverflow.com/questions/28043589 / ...
— npocmaka

Відповіді:


56

Він не вбудований в Windows, але він знаходиться в інструментах Resource Kit як 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/…
— Lars Fastrup

1
Чи можна це використовувати і на Windows Server 2008?
— Макс

7
Це далеко не корисний ZIP-клієнт. Ви не можете стискати папки, і, здається, немає можливості додати стиснуті файли до наявного архіву. Уникайте.
— roufamatic

Хтось ще отримує папку "Стиснута (на блискавці) недійсна або пошкоджена", коли ви двічі клацніть файл, стиснений цим методом?
— Люк Сампсон

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

21

Солодке! Я подумав, що також повинно бути рішення, що стосується оболонки.
— Electrons_Ahoy

Це не команда, а серія сценаріїв. Це працює, хоча.
— ковбасник

13

.Net 4.5 має вбудовану функціональність, і її може використовувати PowerShell. Вам потрібно буде бути на сервері 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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.