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

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

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

109 голосов | спросил Electrons_Ahoy 10 J000000Friday09 2009, 22:30:18

5 ответов


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
ответил Bryan 10 J000000Friday09 2009, 22:37:57
24

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

ответил Chris 10 J000000Friday09 2009, 22:33:39
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)
ответил MDMarra 25 FebruaryEurope/MoscowbMon, 25 Feb 2013 23:50:41 +0400000000pmMon, 25 Feb 2013 23:50:41 +040013 2013, 23:50:41
6

Другое решение, найденное на сайте суперпользователя, использует собственный COM-объект Windows в файле .bat:

Можете ли вы заархивировать файл из командной строки, используя только встроенную возможность Windows для zip-файлов?

ответил Krilivye 3 FebruaryEurope/MoscowbFri, 03 Feb 2012 18:26:12 +0400000000pmFri, 03 Feb 2012 18:26:12 +040012 2012, 18:26:12

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132