img

Как архивировать и распаковывать файлы с помощью PowerShell

Формат файла ZIP уменьшает размер файлов, сжимая их в один файл. Этот процесс экономит дисковое пространство, шифрует данные и позволяет легко обмениваться файлами с другими. Вот как можно сжать и разархивировать файлы с помощью PowerShell.

Как архивировать и распаковывать файлы с помощью PowerShell

Как архивировать файлы с помощью PowerShell

Начнем с сжатия некоторых файлов в ZIP-архив с помощью командлета Compress-Archive. Он берет путь к любым файлам, которые вы хотите сжать - несколько файлов разделяются запятой - и архивирует их в указанном месте назначения.

Сначала откройте PowerShell, выполнив поиск в меню «Пуск», а затем введите следующую команду, заменив PathToFiles и PathToDestination на путь к файлам, которые вы хотите сжать, а также на имя и папку, в которую вы хотите перейти, соответственно:

Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>
Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>

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

Примечание. Кавычки вокруг пути необходимы только в том случае, если путь к файлу содержит пробел.

В качестве альтернативы, чтобы сжать все содержимое папки и все ее подпапки, вы можете использовать следующую команду, заменив PathToFolder и PathToDestination на путь к файлам, которые вы хотите сжать, а также на имя и папку, которую вы хотите. чтобы перейти соответственно:

Compress-Archive -LiteralPath <PathToFolder> -DestinationPath <PathToDestination>
Compress-Archive -LiteralPath <PathToFolder> -DestinationPath <PathToDestination>

В предыдущем примере мы указали путь к каталогу с несколькими файлами и папками без указания отдельных файлов. PowerShell берет все внутри корневого каталога и сжимает его, а также все подпапки.

Командлет Compress-Archive позволяет использовать подстановочный знак (*) для дальнейшего расширения функциональности. При использовании символа вы можете исключить корневой каталог, сжать только файлы в каталоге или выбрать все файлы определенного типа. Чтобы использовать подстановочный знак с Compress-Archive, вы должны использовать вместо этого параметр -Path, так как -LiteralPath не принимает их.

Выше мы рассмотрели, как включить корневой каталог и все его файлы и подкаталоги при создании архивного файла. Однако, если вы хотите исключить корневую папку из Zip-файла, вы можете использовать подстановочный знак, чтобы исключить ее из архива. Добавляя звездочку (*) в конец пути к файлу, вы указываете PowerShell только захватить то, что находится внутри корневого каталога. Это должно выглядеть примерно так:

Compress-Archive -Path C:path	ofile* -DestinationPath C:path	oarchive.zip
Compress-Archive -Path C:path	ofile* -DestinationPath C:path	oarchive.zip

Далее, скажем, у вас есть папка с кучей файлов разных типов (.doc, .txt, .jpg и так далее), Но вы хотите сжать только один тип. Вы можете указать PowerShell архивировать их, не затрагивая явно. Обозначение команды будет выглядеть так:

Compress-Archive -Path C:path	ofile*.jpg -DestinationPath C:path	oarchive.zip
Compress-Archive -Path C:path	ofile*.jpg -DestinationPath C:path	oarchive.zip
Примечание. Подкаталоги и файлы корневой папки не включаются в архив этим методом.

Наконец, если вам нужен архив, который сжимает файлы только в корневом каталоге и во всех его подкаталогах, вы должны использовать подстановочный знак «звезда-точка-звезда» (*. *) Для их сжатия. Это будет выглядеть примерно так:

Compress-Archive -Path C:path	ofile*.* -DestinationPath C:path	oarchive.zip
Compress-Archive -Path C:path	ofile*.* -DestinationPath C:path	oarchive.zip
Примечание. Подкаталоги и файлы корневой папки не включаются в архив этим методом.

Даже после завершения архивирования вы можете обновить существующий заархивированный файл с помощью параметра -Update. Это позволяет заменять старые версии файлов в архиве новыми версиями с такими же именами и добавлять файлы, созданные в корневом каталоге. Это будет выглядеть примерно так:

Compress-Archive -Path C:path	ofiles -Update -DestinationPath C:path	oarchive.zip
Compress-Archive -Path C:path	ofiles -Update -DestinationPath C:path	oarchive.zip

Как распаковать файлы с помощью PowerShell

Помимо возможности архивировать файлы и папки, PowerShell имеет возможность разархивировать архивы. Процесс даже проще, чем их сжатие; все, что вам нужно, это исходный файл и место для данных, готовых к распаковке.

Откройте PowerShell и введите следующую команду, заменив PathToZipFile и PathToDestination на путь к файлам, которые вы хотите сжать, а также на имя и папку, в которую вы хотите перейти, соответственно:

Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination>
Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination>

Папка назначения, указанная для извлечения файлов, будет заполнена содержимым архива. Если папка не существовала до разархивирования, PowerShell создаст папку и поместит содержимое в нее перед разархивированием.

По умолчанию, если вы пропустите параметр -DestinationPath, PowerShell разархивирует содержимое в текущий корневой каталог и использует имя файла Zip для создания новой папки.

В предыдущем примере, если мы опускаем -DestinationPath, PowerShell создаст папку «Архив» по пути C:Usersuser и извлечет файлы из архива в папку.

C:Usersuser

Если папка уже существует в месте назначения, PowerShell выдаст ошибку при попытке разархивировать файлы. Однако вы можете заставить PowerShell перезаписывать данные новыми, используя параметр -Force.

Вы должны использовать параметр -Force только в том случае, если старые файлы больше не нужны, поскольку это необратимо заменит файлы на вашем компьютере.

Ссылка
скопирована
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
На базе нашего опыта и статей мы сделалем еще один полезный документ: руководство администратора по Linux/Unix системам. В докум
img
Удаленный доступ к системам давно стал необходимостью, и сейчас с трудом можно представить, что было бы, если бы мы не могли упр
img
Все мы любим компьютеры. Они могут делать столько удивительных вещей. За пару десятилетий компьютеры произвели самую настоящую р
img
Архитектуры х64 и х86 являются одними из наиболее широко используемых типов архитектур системы команд (АСК или ISA – Instr
img
Gzip – один из самых популярных алгоритмов сжатия, который позволяет сократить размер файла, но при этом сохранить исходный файл
img
Интернет может быть опасным. Спросите любого хорошего IT-специалиста, и он вам обязательно расскажет о важности обеспечения безо
Комментарии
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59