Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/santisq/PSCompression

zip and gzip utilities for powershell
https://github.com/santisq/PSCompression

compression csharp gzip gzip-compression powershell zip zip-compression

Last synced: about 2 months ago
JSON representation

zip and gzip utilities for powershell

Awesome Lists containing this project

README

        

PSCompression



Zip and GZip utilities for PowerShell


[![build](https://github.com/santisq/PSCompression/actions/workflows/ci.yml/badge.svg)](https://github.com/santisq/PSCompression/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/santisq/PSCompression/branch/main/graph/badge.svg)](https://codecov.io/gh/santisq/PSCompression)
[![PowerShell Gallery](https://img.shields.io/powershellgallery/dt/PSCompression?color=%23008FC7
)](https://www.powershellgallery.com/packages/PSCompression)
[![LICENSE](https://img.shields.io/github/license/santisq/PSCompression)](https://github.com/santisq/PSCompression/blob/main/LICENSE)

PSCompression is a PowerShell Module that provides Zip and Gzip utilities for compression, expansion and management. It also solves a few issues with Zip compression existing in _built-in PowerShell_.

## What does this Module offer?

### Zip Cmdlets

Cmdlet
Description

[`Get-ZipEntry`](docs/en-US/Get-ZipEntry.md)

Lists entries from specified zip archives. This cmdlet is the main entry point for the ZipEntry cmdlets in this module.

[`Expand-ZipEntry`](docs/en-US/Expand-ZipEntry.md)

Expands zip entries outputted by the [`Get-ZipEntry`](docs/en-US/Get-ZipEntry.md) command to a
destination directory.

[`Get-ZipEntryContent`](docs/en-US/Get-ZipEntryContent.md)

Gets the content of one or more zip entries.

[`New-ZipEntry`](docs/en-US/New-ZipEntry.md)

Creates zip entries from specified path or paths.

[`Remove-ZipEntry`](docs/en-US/Remove-ZipEntry.md)

Removes zip entries from one or more zip archives.

[`Rename-ZipEntry`](docs/en-US/Rename-ZipEntry.md)

Renames zip entries from one or more zip archives.

[`Set-ZipEntryContent`](docs/en-US/Set-ZipEntryContent.md)

Sets or appends content to a zip entry.

[`Compress-ZipArchive`](docs/en-US/Compress-ZipArchive.md)

Similar capabilities as
[`Compress-Archive`](docs/en-US/https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.archive/compress-archive?view=powershell-7.2)
and overcomes a few issues with the built-in cmdlet (2 GB limit and more).

### Gzip Cmdlets

Cmdlet
Description

[`Compress-GzipArchive`](docs/en-US/Compress-GzipArchive.md)

Can compress one or more specified file paths into a Gzip file.

[`ConvertFrom-GzipString`](docs/en-US/ConvertFrom-GzipString.md)

Expands Gzip Base64 input strings.

[`ConvertTo-GzipString`](docs/en-US/ConvertTo-GzipString.md)

Can compress input strings into Gzip Base64 strings or raw bytes.

[`Expand-GzipArchive`](docs/en-US/Expand-GzipArchive.md)

Expands Gzip compressed files to a destination path or to the [success stream](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_output_streams?view=powershell-7.3#success-stream).

## Documentation

Check out [__the docs__](docs/en-US) for information about how to use this Module.

## Installation

### Gallery

The module is available through the [PowerShell Gallery](https://www.powershellgallery.com/):

```powershell
Install-Module PSCompression -Scope CurrentUser
```

### Source

```powershell
git clone 'https://github.com/santisq/PSCompression.git'
Set-Location ./PSCompression
./build.ps1
```

## Requirements

This module has no external requirements and is compatible with __Windows PowerShell 5.1__ and [__PowerShell 7+__](https://github.com/PowerShell/PowerShell).

## Contributing

Contributions are more than welcome, if you wish to contribute, fork this repository and submit a pull request with the changes.