Главная > Powershell > Работа с архивами в Powershell

Работа с архивами в Powershell

Когда-то давно приходилось автоматизировать работу с архивированием и разархивированием файлов через Powershell. Тогда я для этого использовал консольную версию 7zip – ложил его в определённое место и в скрипте вызывал его оттуда. Сейчас вновь потребовалось поработать с архивами, но, как оказалось, сейчас всё намного проще.

Начиная с версии .NET Framework 4.5 появился встроенный класс ZipFile, благодаря которому архивировать и разархивировать файлы одно удовольствие.

Для работы с возможностями этого класса прежде всего необходимо загрузить соответствующую сборку:

Add-Type -AssemblyName "System.IO.Compression.FileSystem"

Для того, чтобы заархивировать каталог с файлами нужно вызвать метод CreateFromDirectory, ему передать путь к каталогу, который будет архивироваться и путь к будущему архиву:

# Каталог, который будем архивировать
$Source = 'C:\test'
# Путь, куда положить готовый архив
$ArchiveFileName = 'C:\archive.zip'
# Архивируем
[IO.Compression.ZipFile]::CreateFromDirectory($Source, $ArchiveFileName)

Для разархивирования следует вызвать метод ExtractToDirectory, в который нужно передать разархивируемый файл, и путь к каталогу, в который нужно извлечь файлы:

# Путь к архиву
$ArchiveFileName = 'C:\archive.zip'
# Путь, куда разархивировать
$ExtractPath = 'C:\unzip'
# Разархивируем
[IO.Compression.ZipFile]::ExtractToDirectory($ArchiveFileName, $ExtractPath)
Реклама
Рубрики:Powershell Метки: ,
  1. kaatm
    19/09/2017 в 23:16

    Это только для Win8 и более поздних.

  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: