есть ли в windows встроенная команда zip для командной строки?

<p>поскольку windows explorer (хотя бы windows xp) имеет некоторую базовую поддержку zip-файлов, похоже, что должен быть эквивалент командной строки, но я не могу найти никаких признаков его наличия.</p><p>windows (xp, vista, 7, 8, 2003, 2008, 2013) поставляется со встроенным инструментом командной строки zip, или мне нужно придерживаться сторонних инструментов?</p>

<p>он не встроен в windows, но в <a href="http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en">resource kit tools</a> как <code>compress</code>,</p><pre><code>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. </code></pre><p>примеры:</p><pre><code>compress temp.txt compressed.txt compress -r *.* compress -r *.exe *.dll compressed\_dir </code></pre>

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

<p>powershell делает. видеть:</p><p> <a href="http://blogs.msdn.com/daiken/archive/2007/02/12/compress-files-with-windows-powershell-then-package-a-windows-vista-sidebar-gadget.aspx">сжать файлы с помощью windows powershell, а затем упаковать гаджет боковой панели windows vista</a> </p>

<p>.net 4.5 имеет эту встроенную функциональность и может использоваться powershell. вам нужно быть на server 2012, windows 8 или .net 4.5, установленной вручную.</p><pre><code>[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) </code></pre>

<p>другое решение, найденное на сайте суперпользователя, использует объект windows com в файле .bat:</p><p> <a href="https://superuser.com/questions/110991/can-you-zip-a-file-from-the-command-prompt-using-only-windows-built-in-capabili">можете ли вы сжать файл из командной строки, используя встроенную возможность только в windows для архивирования файлов?</a> </p>

<p>для этого есть одна простая команда powershell. (powershell v5.0 +)</p><p>в zip:</p><pre><code>compress-archive -literalpath 'c:\mypath\testfile.txt' -destinationpath "c:\mypath\test.zip" </code></pre><p>разархивировать:</p><pre><code>expand-archive -literalpath "c:\mypath\test.zip" -destinationpath "c:\mypath" -force </code></pre><p>источники:</p><ul> <li> <p> <a href="https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.archive/compress-archive?view=powershell-6">compress-архив</a> </p> </li> <li> <p> <a href="https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.archive/expand-archive?view=powershell-6">expand-архив</a> </p> </li> </ul><p>особая благодарность @ramhound</p>