At the time of the Original Question the correct answer should have been use Windows JScript or VBS via command line which at the time such methods could build upto 2 GB zip using ADODB.Stream.writeFile(destination,ZIP_DATA);
for a modernised copy which still works well in Windows 10 see https://github.com/npocmaka/batch.scripts/blob/master/hybrids/jscript/zipjs.bat
The CMD tool for zip handling on newer Windows 10,
and carried over to Win 11 is TAR,
however it was not «native» command line in Windows 8 or earlier, since that system inbuilt dll feature was there as part of explorer, since I think, at least XP»
see Tar --help
To list use Tar -tf file.zip
To extract use Tar -m -xf file.zip
So the OP wanted save to zip
To compress use Tar -a -cf new.zip files
Other options are available, but I think to work with «nested» archive files requires peeling the levels off.
For a practical use you can extract images and thumbnails or text from zips such as MS DocX, PptX, etc.
Overall it is better to use a universal zip tool such as the prime suggestion 7-Zip utility, but others are popular on windows especially the Grandfather of all Windows variants WinZip (c) 1991 https://www.winzip.com/en/download/winzip/ which has specialist versions such as secured WinZip Courier and WinZip PDF!
Обновлено:
Опубликовано:
Что такое 7zip.
Приведенные ниже команды выполняются после перехода в каталог с установленным 7-Zip. Как правило, это:
cd «C:\Program Files\7-Zip»
Архивирование и разархивирование
Как распаковать
Как запаковать
Резервное копирование
Пример cmd-скрипта
Пример powershell-скрипта
Описание ключей и команд
Команды
Ключи
Примеры использования команд
Исключение файлов и папок
Архивирование базы 1С
Распаковать и заархивировать
Общий синтаксис:
7z <команда> <ключи> <пути к каталогам и файлам>
Синтаксис для распаковки:
7z <x или e> <архивный файл> -o»<путь, куда распаковываем>»
* ключ x распаковывает с сохранением каталожной структуры; e — все в одно место.
Пример:
7z x c:\temp\archive.7z -o»c:\temp\»
* в данном примере мы распакуем файл c:\temp\archive.7z в папку c:\temp
Архивация
Синтаксис для архивирования:
7z a <ключи> <архивный файл> <объект архивирования>
Например:
7z a -tzip -mx5 -r0 c:\temp\archive.zip c:\temp
* в данном примере мы создадим zip-архив с уровнем компрессии 5; в архив попадет все содержимое всех каталогов; название для файла c:\temp\archive.zip; запаковываем все содержимое папки c:\temp.
7z a -mx1 c:\temp\archive.7z c:\temp\file1.txt c:\temp\file2.txt c:\temp\file3.txt
* в данном примере мы архивируем файлы c:\temp\file1.txt, c:\temp\file2.txt, c:\temp\file3.txt с низкой компрессией 1; в итоге будет получен архив c:\temp\archive.7z.
* описание ключей ниже.
Резервное копирование с помощью 7-Zip
Один из самых распространенных примеров использования 7zip из командной строки — резервирование данных.
Для начала переходим в каталог с установленной программой:
cd «C:\Program Files\7-Zip\»
* так как в пути имеется пробел, его необходимо писать в кавычках.
Сама команда выглядит следующим образом:
7z a -tzip -ssw -mx1 -pPassword -r0 C:\Temp\backup.zip C:\Data
* в данном примере мы архивируем содержимое папки C:\Data и сохраняем в виде файла C:\Temp\backup.zip.
* описание ключей смотрите ниже или командой 7z —help.
Полный пример cmd-скрипта для резервного копирования:
@echo off
set source=»C:\Date»
set destination=»C:\Temp»
set passwd=»Password»
set dd=%DATE:~0,2%
set mm=%DATE:~3,2%
set yyyy=%DATE:~6,4%
set curdate=%dd%-%mm%-%yyyy%
«C:\Program Files\7-Zip\7z.exe» a -tzip -ssw -mx1 -p%passwd% -r0 %destination%\backup_%curdate%.zip %source%
* данный скрипт заархивирует содержимое каталога C:\Data в файл C:\Temp\backup_<текущая дата>.zip. Полученный архив будет защищен паролем Password.
* содержимое необходимо сохранить в файле с расширением .cmd или .bat.
Пример Powershell скрипта для резервного копирования:
$source = «C:\Date»
$destination = «C:\Temp»
$passwd = «Password»
$curdate = (Get-Date -UFormat «%d-%m-%Y»)
& «C:\Program Files\7-Zip\7z.exe» a -tzip -ssw -mx1 -p$passwd -r0 $destination\backup_$curdate.zip $source
* данный скрипт также заархивирует содержимое каталога C:\Data в файл C:\Temp\backup_<текущая дата>.zip. Полученный архив будет защищен паролем Password.
* содержимое необходимо сохранить в файле с расширением .ps1.
Описание ключей и команд 7z
В синтаксисе работы с 7zip идут команды и ключи.
Описание основных команд
Команда | Описание |
---|---|
a | Добавление файлов в архив. Если архивного файла не существует, создает его. |
d | Удаление файла из архива |
e | Извлечение файлов из архива. Все файлы оказываются в одной папке. |
l | Вывод содержимого архива. |
rn | Переименовывание файла внутри архива. |
u | Обновление файлов в архиве. Если файла нет, создает новый. |
x | Извлечение файлов из архива. Пути сохраняются. |
Описание ключей
Часто используемые:
Ключ | Описание |
---|---|
-t | Тип архива. По умолчанию создаются файлы в формате 7z. Примеры, -tzip, -tgz |
-ssw | Включить файл в архив, даже если он в данный момент используется. Для резервного копирования очень полезный ключ. |
-mx | Уровень компрессии. 0 — без компрессии (быстро), 9 — самая большая компрессия (медленно). Например, -mx4 |
-p | Пароль для архива. Например, -pStrong2!3paSsword |
-o | Задает директорию, например, в которую будут распакованы файлы. |
-r | Рекурсивное архивирование для папок. Задается числом от 0 (все каталоги) до количества уровней каталогов, которые нужно включить в архив. |
Другие полезные ключи:
Ключ | Описание |
---|---|
-sdel | Удалить файлы после создания архива. |
-sfx | Создание самораспаковывающегося sfx-архива. |
-y | Утвердительно ответить на все вопросы, которые может запросить система. |
-x | Исключить файлы или папки из архива. |
-v | Позволяет разбить архив на фрагменты. Если указать -v1g, то архив будет разбит на части по 1 Гб. |
-mmt | Количество потоков процессора, которые можно задействовать для работы программы. -mmt=4 укажет работать в четыре потока. |
-m | Задает метод сжатия. Доступны варианты: — LZMA: базовый метод для сжатия 7z. Быстрое сжатие и декомпрессия. — LZMA2: метод по умолчанию для 7z. Поддерживает несколько процессорных потоков. — PPMd: метод PPMdH Дмитрия Шкарина с небольшими изменениями. Хорошо подходит для текстовых файлов. — BZip2: на основе алгоритма BWT. Также хорош для текстовых файлов. — Deflate: стандартный метод для форматов ZIP и GZip. Сжатие не очень хорошее, но высокая скорость работы. Поддерживает только 32 КБ словаря. — Deflate64: аналогичен Deflate, но с поддержкой 64 КБ словаря. |
Полный список ключей и команд можно получить командой 7z —help.
Примеры
Исключение файлов и папок
Отдельно стоит рассказать про возможность исключения. Есть два варианта ее применения.
Первый — создать список исключений в отдельном файле.
Пример команды 7z:
7z.exe a -tzip -ssw -mx9 -r0 -x@exclus.txt C:\Temp\backup.zip C:\Data
* где exclus.txt — файл с исключениями.
Пример файла с исключениями:
test
*.tmp
* в данном примере мы исключаем каталог с именем test и все файлы с расширением tmp.
Второй — указать исключение в команде.
7z.exe a -tzip -ssw -mx9 -r0 -xr!Шаблон* C:\Temp\backup.zip C:\Data
Резервирование баз 1С
Данные базы 1С находятся в файлах с расширением .1CD. Для их резервирования используем команду:
7z.exe a -tzip -mmt=2 -ssw -mx5 -r0 C:\Temp\backup.zip D:\Bases_1C\*.1CD
* в данном примере мы будем сжимать все файлы 1CD в архив C:\Temp\backup.zip.
Is it possible to create a .zip file from a folder in the command line, I don’t want to use any third party executable.
I was thinking something like ‘send to compressed folder’ but I don’t know how to do it…
asked Oct 20, 2010 at 7:50
2
Tar
Windows 10 includes tar.exe:
# example 1
tar.exe -a -c -f out.zip in.txt
# example 2
tar.exe -x -f out.zip
If you have older Windows, you can still download from
libarchive/libarchive.
PowerShell
PowerShell has Compress-Archive:
# example 1
Compress-Archive in.txt out.zip
# example 2
Expand-Archive out.zip
Directory
For both tools, you can use a file or directory for the input.
answered Apr 6, 2015 at 21:26
9
Imagine that you want to compress the same folder that you are on Command Prompt WITHOUT opening a powershell window:
powershell Compress-Archive . publish.zip
answered Jul 4, 2018 at 11:29
1
I don’t think there is a command line for ZIP files built in to Windows (Other than compress
in Server 2003 Resource Kit). You’d have to use a third party. Everybody loves 7zip!
answered Oct 20, 2010 at 7:57
I’ve combined this script from several different sources to suit my needs better. Copy and paste the script into a file with the extension «.vbs». The script was originally made for Windows XP, but it also works in Windows 7 x64 Ultimate — no guarantee’s if Windows will keep around the various Shell objects this uses.
Usage: in the run box or command line put-
"C:\zipper.vbs" "C:\folderToZip\" "C:\mynewzip.zip"
Path to script, source folder, zip file to make (include .zip at the end).
It won’t copy empty folders so be careful.
Here is the vbs code —
Set Args = Wscript.Arguments
source = Args(0)
target = Args(1)
' make sure source folder has \ at end
If Right(source, 1) <> "\" Then
source = source & "\"
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set zip = objFSO.OpenTextFile(target, 2, vbtrue)
' this is the header to designate a file as a zip
zip.Write "PK" & Chr(5) & Chr(6) & String( 18, Chr(0) )
zip.Close
Set zip = nothing
wscript.sleep 500
Set objApp = CreateObject( "Shell.Application" )
intSkipped = 0
' Loop over items within folder and use CopyHere to put them into the zip folder
For Each objItem in objApp.NameSpace( source ).Items
If objItem.IsFolder Then
Set objFolder = objFSO.GetFolder( objItem.Path )
' if this folder is empty, then skip it as it can't compress empty folders
If objFolder.Files.Count + objFolder.SubFolders.Count = 0 Then
intSkipped = intSkipped + 1
Else
objApp.NameSpace( target ).CopyHere objItem
End If
Else
objApp.NameSpace( target ).CopyHere objItem
End If
Next
intSrcItems = objApp.NameSpace( source ).Items.Count
wscript.sleep 250
' delay until at least items at the top level are available
Do Until objApp.NameSpace( target ).Items.Count + intSkipped = intSrcItems
wscript.sleep 200
Loop
'cleanup
Set objItem = nothing
Set objFolder = nothing
Set objApp = nothing
Set objFSO = nothing
phuclv
26.7k15 gold badges115 silver badges235 bronze badges
answered Oct 20, 2010 at 8:32
WSkidWSkid
1894 bronze badges
3
It is possible to run PowerShell script from BAT. Bat file receive path to dir to be zipped and zip file name as parameters.
@echo off
setlocal
rem First parameter - path to dir to be zipped
rem Second parameter- zip file name
set sourceDir=%1
set zipFile=%2
rem Create PowerShell script
echo Write-Output 'Custom PowerShell profile in effect!' > %~dp0TempZipScript.ps1
echo Add-Type -A System.IO.Compression.FileSystem >> %~dp0TempZipScript.ps1
echo [IO.Compression.ZipFile]::CreateFromDirectory('%sourceDir%','%~dp0%zipFile%') >> %~dp0TempZipScript.ps1
rem Execute script with flag "-ExecutionPolicy Bypass" to get around ExecutionPolicy
PowerShell.exe -ExecutionPolicy Bypass -Command "& '%~dp0TempZipScript.ps1'"
del %~dp0TempZipScript.ps1
endlocal
answered Nov 30, 2016 at 12:19
4
To compress file from CMD:
compact /c /exe lzx input.txt
(works on NTFS Volumes)
File size after compression still displays same on CLI dir
or GUI File Properties
, but disk space occupied is (6-8 times) less.
Binary compressed files won’t make much difference.
For ZIP file format from PKWare, compression rate is about 4 times higher than compact
(from testing on Win 10) and incorporates a range of compression algorithms such as Deflate, BZip, LZW, LZMA, LZ77, PPMd, etc
These technologies are newer than the days of DOS & CMD, and but still can be accessed via newer CLI tools like Powershell, JScript, VBScript, etc.
For powershell from Win CMD:
powershell "Compress-Archive input.txt output.zip"
or tar
in Windows 10:
Usage:
List: tar -tf <archive-filename>
Extract: tar -xf <archive-filename>
Create: tar -cf <archive-filename> [filenames...]
Help: tar --help
answered Mar 17, 2020 at 7:30
ZimbaZimba
1,06111 silver badges15 bronze badges
I will post something related to WSkids answer as sadly i cannot use the comment function.
Using the CopyHere() method in VBS introduces several issues. One of these issues is that the method returns immediately while the copy process starts in background whereas multiple CopyHere() calls will interfere each other and the ZIP won’t be created correctly. A wait loop is needed here to fix that. My wait loop is based on an answer to a similar issue posted here.
Here is an updated version which fixes the «Object required» error reported by pihentagy. It’s a timing issue as the newly created ZIP file is included in the Items collection when the script is executed on fast machines.
set Args = WScript.Arguments
source = Args(0)
' remove trailing slashes as we add slashes when needed later
while Right(source, 1) = "\"
source = Mid(source, 1, Len(source) - 1)
wend
target = Args(1)
' create empty ZIP file
set fso = CreateObject("Scripting.FileSystemObject")
set zip = fso.OpenTextFile(target, 2, vbtrue)
' write ZIP header, this ensures that Windows recognizes the file as "ZIP Folder"
zip.Write "PK" & Chr(5) & Chr(6) & String(18, Chr(0))
zip.Close
set zip = nothing
set fso = nothing
' copy files to ZIP file
set app = CreateObject("Shell.Application")
set sourceFolderObj = app.NameSpace(source)
set targetFolderObj = app.NameSpace(target)
for each item in sourceFolderObj.Items
itemPath = source & "\" & item.Name
copyItem = false
' ZIP file is included in Items collection and is recognized as folder, thus skip it to avoid script errors
if itemPath <> target then
if item.IsFolder then
if item.GetFolder.Items().Count = 0 then
' folder is empty, skip it as empty folders can't be compressed
else
copyItem = true
end if
else
copyItem = true
end if
end if
if copyItem then
targetFolderObj.CopyHere item
' wait until the file appears in the ZIP file,
' this is needed because CopyHere() returns immediately after starting an asynchronous copy process
' (starting multiple asynchronous copy will not work as it causes error messages, an invalid ZIP file, ...)
while (targetFolderObj.ParseName(item.Name) is nothing)
WScript.Sleep 1
wend
end If
next
set targetFolderObj = nothing
set sourceFolderObj = nothing
set app = nothing
phuclv
26.7k15 gold badges115 silver badges235 bronze badges
answered Jan 7, 2015 at 14:22
1
Here is another idea, from 4 different sources; not my ideas, but I compiled them to make it work for me
<!-- : Begin batch script
@each off
set sourceFolder="c:\test"
set destZip="%userprofile%\desktop\example.zip"
cscript //nologo "%~f0?.wsf" //job:exewsh %sourceFolder% %destZip%
exit /b
GOTO:EOF
----- Begin wsf script --->
<package><job id="exewsh"><script language="VBScript">
'Get command-line arguments.
Set objArgs = WScript.Arguments
InputFolder = objArgs(0)
ZipFile = objArgs(1)
'Create empty ZIP file.
CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar)
Set objShell = CreateObject("Shell.Application")
Set source = objShell.NameSpace(InputFolder).Items
objShell.NameSpace(ZipFile).CopyHere(source)
'Required!
wScript.Sleep 2000
</script></job>
</package>
phuclv
26.7k15 gold badges115 silver badges235 bronze badges
answered Jan 18, 2018 at 22:50
2
This is an old question, but it’s relevance is still current.
Windows of course has it’s own compression algorithm built in for using zip files, but, it really performs poorly when compared to the 7zip open source product found here http://www.7-zip.org/
Others have already discussed various methods for using the built in windows functions, my solution requires installing the additional software.
7Zip supports a wide range of files, including ZIP, RAR, CAB and ISO and it’s own 7z format.
You can view the command line help:
"C:\Program Files\7-Zip\7z.exe" --help
to perform a simple add to zip archive:
"C:\Program Files\7-Zip\7z.exe" a filename.zip c:\path
phuclv
26.7k15 gold badges115 silver badges235 bronze badges
answered Aug 16, 2017 at 6:41
KyleMit♦
6,0748 gold badges46 silver badges61 bronze badges
answered Jan 22, 2015 at 12:27
npocmakanpocmaka
1,25912 silver badges12 bronze badges
4
This is on Windows Server 2019 Datacenter. In the end, the undocumented «-a» option suggested by @Zombo is required to create ZIP compatible files.
> tar --help
tar(bsdtar): manipulate archive files
First option must be a mode specifier:
-c Create -r Add/Replace -t List -u Update -x Extract
Common Options:
-b # Use # 512-byte records per I/O block
-f <filename> Location of archive (default \\.\tape0)
-v Verbose
-w Interactive
Create: tar -c [options] [<file> | <dir> | @<archive> | -C <dir> ]
<file>, <dir> add these items to archive
-z, -j, -J, --lzma Compress archive with gzip/bzip2/xz/lzma
--format {ustar|pax|cpio|shar} Select archive format
--exclude <pattern> Skip files that match pattern
-C <dir> Change to <dir> before processing remaining files
@<archive> Add entries from <archive> to output
List: tar -t [options] [<patterns>]
<patterns> If specified, list only entries that match
Extract: tar -x [options] [<patterns>]
<patterns> If specified, extract only entries that match
-k Keep (don't overwrite) existing files
-m Don't restore modification times
-O Write entries to stdout, don't restore to disk
-p Restore permissions (including ACLs, owner, file flags)
bsdtar 3.5.2 - libarchive 3.5.2 zlib/1.2.5.f-ipp
Try the documented compression and format options
>tar -c -z --format ustar -f Test1.z.ustar.zip tar_filelist.txt creates a file that Windows Explorer can't open.
>tar -c -j --format ustar -f Test2.j.ustar.zip tar_filelist.txt creates a 0 byte file that Windows Explorer CAN open. Shows as empty.
tar: Can't launch external program: bzip2
>tar -c -J --format ustar -f Test3.J.ustar.zip tar_filelist.txt errors out. does nothing.
tar: Unsupported compression option --xz
>tar -c --lzma --format ustar -f Test4.lzma.ustar.zip tar_filelist.txt errors out. does nothing.
tar: Unsupported compression option --lzma
>tar -c -z --format pax -f Test5.z.pax.zip tar_filelist.txt creates a file that Windows Explorer can't open.
>tar -c -j --format pax -f Test6.j.pax.zip tar_filelist.txt creates a 0 byte file that Windows Explorer CAN open. Shows as empty.
tar: Can't launch external program: bzip2
>tar -c -J --format pax -f Test7.J.pax.zip tar_filelist.txt errors out. does nothing.
tar: Unsupported compression option --xz
>tar -c --lzma --format pax -f Test8.lzma.pax.zip tar_filelist.txt errors out. does nothing.
tar: Unsupported compression option --lzma
>tar -c -z --format cpio -f Test9.z.cpio.zip tar_filelist.txt creates a file that Windows Explorer can't open.
>tar -c -j --format cpio -f Test10.j.cpio.zip tar_filelist.txt creates a 0 byte file that Windows Explorer CAN open. Shows as empty.
tar: Can't launch external program: bzip2
>tar -c -J --format cpio -f Test11.J.cpio.zip tar_filelist.txt errors out. does nothing.
tar: Unsupported compression option --xz
>tar -c --lzma --format cpio -f Test12.lzma.cpio.zip tar_filelist.txt errors out. does nothing.
tar: Unsupported compression option --lzma
>tar -c -z --format shar -f Test13.z.shar.zip tar_filelist.txt creates a file that Windows Explorer can't open.
>tar -c -j --format shar -f Test14.j.shar.zip tar_filelist.txt creates a 0 byte file that Windows Explorer CAN open. Shows as empty.
tar: Can't launch external program: bzip2
>tar -c -J --format shar -f Test15.J.shar.zip tar_filelist.txt errors out. does nothing.
tar: Unsupported compression option --xz
>tar -c --lzma --format shar -f Test16.lzma.shar.zip tar_filelist.txt errors out. does nothing.
tar: Unsupported compression option --lzma
## Results of the commands above
## The "z" option creates a file that Windows Explorer can't open.
## The "j" option creates a 0 byte file that Windows Explorer CAN open. Shows as empty.
08/22/2023 07:30 PM 107 Test1.z.ustar.zip
08/22/2023 07:32 PM 0 Test2.j.ustar.zip
08/22/2023 07:34 PM 211 Test5.z.pax.zip
08/22/2023 07:36 PM 0 Test6.j.pax.zip
08/22/2023 07:37 PM 102 Test9.z.cpio.zip
08/22/2023 07:38 PM 0 Test10.j.cpio.zip
08/22/2023 07:39 PM 128 Test13.z.shar.zip
08/22/2023 07:39 PM 0 Test14.j.shar.zip
answered Aug 23 at 0:37
mnemotronicmnemotronic
3833 silver badges7 bronze badges
You must log in to answer this question.
Since Windows Explorer (since at least Windows XP) has some basic support for ZIP files, it seems like there should be a command-line equivalent, but I can’t seem to find any sign of one.
Does Windows (XP, Vista, 7, 8, 2003, 2008, 2013) ship with a built-in command-line zip tool, or do I need to stick with third-party tools?
asked Jul 10, 2009 at 18:30
Electrons_AhoyElectrons_Ahoy
1,8213 gold badges15 silver badges16 bronze badges
7
It’s not built into Windows, but it’s in the Resource Kit Tools as 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.
Examples:
COMPRESS temp.txt compressed.txt
COMPRESS -R *.*
COMPRESS -R *.exe *.dll compressed_dir
answered Jul 10, 2009 at 18:37
BryanBryan
7,62815 gold badges69 silver badges94 bronze badges
6
Not that I’m aware of. As far as third party tools goes, 7zip has a pretty nice command line interface and the binary can be distributed with your app in the app’s directory, so you don’t have to rely on it being installed ahead of time.
answered Jul 10, 2009 at 18:33
ChrisChris
8691 gold badge7 silver badges13 bronze badges
5
answered Jul 11, 2009 at 8:29
John RennieJohn Rennie
7,7761 gold badge24 silver badges35 bronze badges
4
.Net 4.5 has this functionality built in, and it can be leveraged by PowerShell. You’ll need to be on Server 2012, Windows 8, or have .Net 4.5 installed manually.
[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)
answered Feb 25, 2013 at 19:50
MDMarraMDMarra
101k32 gold badges197 silver badges329 bronze badges
answered Nov 21, 2020 at 3:25
KyleMit♦KyleMit
4884 gold badges9 silver badges22 bronze badges
1
answered Feb 3, 2012 at 14:26
KrilivyeKrilivye
1691 silver badge1 bronze badge
There is a single, simple PowerShell command for this. (PowerShell v5.0+)
To zip:
Compress-Archive -LiteralPath 'C:\mypath\testfile.txt' -DestinationPath "C:\mypath\Test.zip"
To unzip:
Expand-Archive -LiteralPath "C:\mypath\Test.Zip" -DestinationPath "C:\mypath" -Force
Sources:
-
Compress-Archive
-
Expand-Archive
Special thanks to @Ramhound
answered Apr 27, 2019 at 0:23
cowlinatorcowlinator
1781 silver badge6 bronze badges
1
You must log in to answer this question.
Not the answer you’re looking for? Browse other questions tagged
.
Not the answer you’re looking for? Browse other questions tagged
.
Содержание
- Введение
- Создание архива
- Добавление файлов в архив
- Распаковка архива
- Список файлов в архиве
- Установка пароля для архива
- Итоги
- Windows command line zip: как работать с архиватором командной строки
Введение
Архивация и сжатие файлов являются важной частью работы с данными на компьютере. В Windows командная строка предоставляет удобный способ архивировать и распаковывать файлы с помощью утилиты zip. В этом руководстве мы рассмотрим основные команды и синтаксис для работы с zip-архивами в командной строке Windows.
Создание архива
Для создания zip-архива в командной строке Windows используйте следующую команду:
zip -r [архив.zip] [папка]
Здесь ключ -r указывает на рекурсивное копирование файлов внутри папки, чтобы в архив попали все файлы и подпапки. [архив.zip] — это имя, которое вы хотите дать архиву, и [папка] — путь к папке, которую вы хотите архивировать.
Добавление файлов в архив
Если у вас уже есть zip-архив и вы хотите добавить файлы в него без создания нового архива, используйте следующую команду:
zip -u [архив.zip] [файл1] [файл2]...
Здесь ключ -u указывает на обновление архива, и [архив.zip] — имя архива, в который вы хотите добавить файлы.
Распаковка архива
Для распаковки zip-архива в командной строке Windows используйте следующую команду:
unzip [архив.zip] [папка]
Здесь [архив.zip] — это имя архива, который вы хотите распаковать, и [папка] — путь к папке, в которую нужно распаковать архив.
Список файлов в архиве
Для просмотра списка файлов, содержащихся в архиве, используйте следующую команду:
unzip -l [архив.zip]
Здесь ключ -l указывает на вывод списка файлов, [архив.zip] — имя архива, для которого вы хотите увидеть список файлов.
Установка пароля для архива
Если вы хотите защитить свой архив паролем, используйте следующую команду:
zip -r -e [архив.zip] [папка]
Здесь ключ -e указывает на зашифрование архива, и после запуска команды вас попросят ввести пароль для архива. [архив.zip] — это имя архива, который вы хотите зашифровать.
Итоги
В этой статье мы рассмотрели основные команды и синтаксис для работы с zip-архивами в командной строке Windows. Вы можете использовать эти команды для создания, добавления файлов, распаковки архивов, просмотра списка файлов и установки пароля для архива. Использование командной строки может быть очень полезным при работе с архивами, особенно если у вас большое количество файлов или если вы хотите автоматизировать процесс архивации и разархивации.
Windows command line zip: как работать с архиватором командной строки
Архиватор командной строки в операционной системе Windows предоставляет удобные инструменты для создания и управления архивами напрямую через командную строку.
Вот некоторые основные команды и функции, которые вы можете использовать с архиватором командной строки:
zip
: командаzip
используется для создания нового архива. Вы можете указать имя архива и список файлов, которые вы хотите добавить в архив. Например,zip archive.zip file1.txt file2.txt
создаст архив с именемarchive.zip
, который содержит файлыfile1.txt
иfile2.txt
.unzip
: командаunzip
используется для извлечения файлов из архива. Вы можете указать имя архива и список файлов, которые вы хотите извлечь. Например,unzip archive.zip file1.txt
извлечет только файлfile1.txt
из архиваarchive.zip
.zipinfo
: командаzipinfo
позволяет просматривать информацию о содержимом архива. Вы можете использовать эту команду, чтобы узнать список файлов в архиве, а также другую полезную информацию, такую как размеры и даты файлов. Например,zipinfo archive.zip
отобразит информацию о содержимом архиваarchive.zip
.zipcloak
: командаzipcloak
используется для добавления пароля к архиву. Вы можете указать имя архива и пароль, который вы хотите установить. Например,zipcloak archive.zip -p password
добавит пароль «password» к архивуarchive.zip
.zipnote
: командаzipnote
позволяет редактировать комментарии архива. Вы можете использовать эту команду, чтобы добавить, изменить или удалить комментарии в архиве. Например,zipnote archive.zip
откроет текстовый редактор, где вы сможете внести изменения в комментарии архиваarchive.zip
.
Это лишь несколько примеров команд и функций, доступных в архиваторе командной строки в Windows. Вы также можете использовать ключи команды для дополнительной настройки процессов архивирования и извлечения файлов. Подробную информацию о доступных командах и ключах можно получить, выполнив команду zip -h
или unzip -h
в командной строке.
Использование архиватора командной строки может быть особенно полезным для автоматизации процессов упаковки и распаковки файлов в пакетах или скриптах. Он также предоставляет удобный способ управления архивами без необходимости использования графического интерфейса.