Формат файла ZIP уменьшает размер файлов, сжимая их в один файл. Этот процесс экономит место на диске, шифрует данные и упрощает обмен файлами с другими. Вот как архивировать и разархивировать файлы с помощью PowerShell.
Как заархивировать файлы с помощью PowerShell
Начнем с сжатия некоторых файлов в ZIP-архив с помощью командлета Compress-Archive. Он берет путь к любым файлам, которые вы хотите сжать (несколько файлов разделяются запятой), и архивирует их в указанном вами месте назначения.
Сначала откройте PowerShell, выполнив поиск в меню «Пуск», а затем введите следующую команду, заменив
Compress-Archive -LiteralPath-DestinationPath
Когда вы указываете путь назначения, обязательно дайте архивному файлу имя, иначе PowerShell сохранит его как «.zip», где вы укажете.
Примечание. Цитаты вокруг пути необходимы только в том случае, если путь к файлу содержит пробел.
Кроме того, чтобы заархивировать все содержимое папки — и все ее подпапки — вы можете использовать следующую команду, заменив
Compress-Archive -LiteralPath-DestinationPath
В предыдущем примере мы указали путь к каталогу с несколькими файлами и папками, не указывая отдельные файлы. PowerShell берет все, что находится внутри корневого каталога, и сжимает его, подпапки и все остальное.
Командлет Compress-Archive позволяет использовать подстановочный знак.
чтобы еще больше расширить функциональность. Когда вы используете символ, вы можете исключить корневой каталог, сжать только файлы в каталоге или выбрать все файлы определенного типа. Чтобы использовать подстановочный знак с Compress-Archive, вы должны вместо этого использовать параметр -Path, поскольку -LiteralPath их не принимает.
Compress-Archive -Path C:pathtofile* -DestinationPath C:pathtoarchive.zip
в конец пути к файлу, вы указываете PowerShell только захват содержимого корневого каталога. Это должно выглядеть примерно так:
Compress-Archive -Path C:pathtofile*.jpg -DestinationPath C:pathtoarchive.zip
Затем предположим, что у вас есть папка с кучей файлов разных типов (.doc, .txt, .jpg и т. Д.), Но вы хотите сжать все файлы одного типа. Вы можете указать PowerShell заархивировать их, не касаясь других явно. Обозначение команды будет выглядеть так:
Заархивируйте из папки только файлы определенных типов.
Compress-Archive -Path C:pathtofile*.* -DestinationPath C:pathtoarchive.zip
Наконец, если вам нужен архив, который сжимает файлы только в корневом каталоге — и во всех его подкаталогах — вы должны использовать подстановочный знак звездочка-точка-звезда (*. *), Чтобы заархивировать их. Это выглядело бы примерно так:
Заархивируйте только файлы из корневой папки с помощью widlcard star-dot-star (*. *).
Compress-Archive -Path C:pathtofiles -Update -DestinationPath C:pathtoarchive.zip
Даже после завершения архивации вы можете обновить существующий заархивированный файл с помощью параметра -Update. Он позволяет заменять старые версии файлов в архиве новыми с такими же именами и добавлять файлы, созданные в корневом каталоге. Это будет выглядеть примерно так:
Обновите уже существующий zip-файл с помощью параметра -Update.
Как разархивировать файлы с помощью PowerShell
Expand-Archive -LiteralPath-DestinationPath
с путем к файлам, которые вы хотите сжать, а также с именем и папкой, в которую вы хотите перейти, соответственно:
Распакуйте архив с помощью командлета Expand-Archive.
Папка назначения, указанная для извлечения файлов, будет заполнена содержимым архива. Если папка не существовала до распаковки, PowerShell создаст папку и поместит в нее содержимое перед распаковкой.
В предыдущем примере, если мы оставим -DestinationPath, PowerShell создаст папку «Archive» по пути «C: Usersbrady» и извлечет файлы из архива в папку.
Если вы не укажете параметр -DestinationPath, PowerShell извлечет zip-архив в текущий выбранный каталог.
Если папка уже существует в месте назначения, PowerShell вернет ошибку при попытке распаковать файлы. Однако вы можете заставить PowerShell перезаписывать данные новыми, используя параметр -Force.
Вы должны использовать параметр -Force только в том случае, если старые файлы больше не нужны, так как это необратимо заменит файлы на вашем компьютере.