Како створити ЗИП архиву помоћу програма ПоверСхелл

ПоверСхелл 5.0 (укључен у Виндовс Манагемент Фрамеворк 5.0, који је подразумевано укључен у Виндовс 10) има посебан модул Мицрософт.ПоверСхелл.Арцхиве, који вам омогућава да креирате и екстрахирате ЗИП архиве из командне линије или из ПоверСхелл скрипте. Листа расположивих цмдлета у модулу Мицрософт.ПоверСхелл.Арцхиве (Ц: \ Виндовс \ Систем32 \ ВиндовсПоверСхелл \ в1.0 \ Модули \ Мицрософт.ПоверСхелл.Арцхиве) може се добити помоћу Гет-Цомманд.

Гет-Цомманд -Модуле Мицрософт.ПоверСхелл.Арцхиве | Формат-Табела -АутоСизе;

Извор верзије Назива ЦоммандТипе
- --             -- -
Функција Цомпресс-Арцхиве 1.0.0.0 Мицрософт.ПоверСхелл.Арцхиве
Функција Екпанд-Арцхиве 1.0.0.0 Мицрософт.ПоверСхелл.Арцхиве

Као што видимо, доступна су два цмдлета, чија имена говоре сама за себе:

  • Цомпресс Арцхиве
  • Прошири архиву

Погледајмо примере употребе ових цмдлета за креирање / распакивање ЗИП архива из одређених датотека или директорија.

Формат команде Цомпресс Арцхиве следеће:

Цомпресс-Арцхиве [-Патх] Стринг [] [-ДестинатионПатх] Стринг [-ЦомпрессионЛевел Стринг] [-Ажурирај]

У параметру Стаза специфицирају се изворне датотеке за пакирање, -ДестинатионПатх -локацију створене архивске датотеке, ЦомпрессионЛевел - ниво компресије (без компресије, оптимални или најбржи). Параметар -Ажурирај омогућава вам додавање / ажурирање датотека у постојећој ЗИП архиви. Са кључем -Сила, ако архива са наведеним именом већ постоји, пребрисат ће се.

Савет. Ниво компресије НоЦомпрессион-а, по правилу, треба користити за комбиновање већ компримованих датотека (јпг, мси, мп3, итд.) У једну архивску датотеку, тако да систем не губи време покушавајући да их компримира..

Пример наредбе за компримовање једне датотеке:

Цомпресс-Арцхиве -Патх Ц: \ Логс \ Упдате.лог -ДестинатионПатх Ц: \ Арцхиве \ логс.зип -ЦомпрессионЛевел Оптимал


Стисните цео садржај директорија:

Цомпресс-Арцхиве -Патх Ц: \ Логс \ -ДестинатионПатх Ц: \ Арцхиве \ логс-алл.зип -ЦомпрессионЛевел Оптимал

Можете компресовати датотеке одређеном маском. На пример, морате да спакујете само датотеке са екстензијом * .ткт.

Цомпресс-Арцхиве -Патх Ц: \ Логс \ * .Ткт -ДестинатионПатх Ц: \ Арцхиве \ логс-ткт.зип -ЦомпрессионЛевел Фастест

Напомена. Јер Мицрософт.ПоверСхелл.Арцхиве модул користи позиве у систем.ИО.Цомпрессион.ЗипАрцхиве класе, неће бити могуће компримовати датотеку већу од 2 ГБ. Ако покушате да компримирате већу датотеку, појавиће се грешка
Изузетак који позива „Врите“ са аргументима „3“: „Стреам је био предуг“.
На Ц: \ Виндовс \ систем32 \ ВиндовсПоверСхелл \ в1.0 \ Модулес \ Мицрософт.ПоверСхелл.Арцхиве \ Мицрософт.ПоверСхелл.Арцхиве.псм1: 805
број: 29
+... $ дестСтреам.Врите ($ буффер, 0, $ нумберОфБитесРеад)
+                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ КатегоријаИнфо: Неодређено: (:) [], МетходИнвоцатионЕкцептион
+ ФуллиКуалифиедЕррорИд: ИОЕкцептион

Да бисте распакирали ЗИП архиву, користите цмдлет Прошири архиву.
Формат команде:

Прошири-Архива [-Пред] Стринг [-ДестинатионПатх] Стринг [-Форце] [-Цонфирм]

На пример, распакујте претходно створену зип архиву тако што ћете пребрисати датотеке у циљном директорију:

Екпанд-Арцхиве -Патх Ц: \ Сцриптс \ тест1.зип -ДестинатионПатх ц: \ сцриптптс -Форце

Од недостатака модула за архивирање ове верзије, ваља поменути:

  • Није могуће прегледати архивски садржај без распакирања
  • Део датотека се не може извући из архиве (само потпуна декомпресија)
  • Не можете користити друге формате архива осим зип

У претходним верзијама Повесхелл-а можете користити класу НЕТ Фрамеворк 4.5 за компримирање / декомпримирање ЗИП датотека Зипфиле. Формат коришћења класе је следећи.

Спакујемо датотеке у архиву:

Адд-Типе -Састављање „систем.ио.цомпрессион.филесистем“
$ срц = "Ц: \ записи"
$ дст = "Ц: \ Архива \ тест.зип"
[ио.цомпрессион.зипфиле] :: ЦреатеФромДирецтори ($ срц, $ дст)

Можете да распакујете ЗИП архиву на следећи начин:

Адд-Типе -Састављање „систем.ио.цомпрессион.филесистем“
$ срц = "Ц: \ Архива \ тест.зип"
$ дст = "Ц: \ Записи \ Архива"
[ио.цомпрессион.зипфиле] :: ЕктрацтТоДирецтори ($ срц, $ дст)