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