Skip to content

Repository files navigation

Zippy

Zippy

Easy Compression in PowerShell

Zippy is a quick compression module.

  • Compress-Zippy compresses content
  • Expand-Zippy expands contents

Zippy currently supports four compression algorithms:

Installing and Importing

You can install Zippy from the PowerShell gallery

Install-Module Zippy -Scope CurrentUser -Force

Once installed, you can import the module with:

Import-Module Zippy -PassThru

You can also clone the repo and import the module locally:

git clone https://github.com/PoshWeb/Zippy
cd ./Zippy
Import-Module ./ -PassThru

Functions

Zippy has 2 functions

Compress-Zippy

Quickly Compresses Content

Compresses Content using a number of standard algorithms.

  • Brotli (default)
  • Default
  • Gzip
  • Zlib
Parameters
Name Type Description
Text String The text to compress
Bytes Byte[] A range of bytes to compress.
Stream Stream A stream to compress.
Algorithm String The compression algorithm.
By default, Brotli.
Encoding Encoding The text encoding.
By default, this will be the $outputEncoding
CompressionLevel CompressionLevel The compression level.
By default, this will be fastest.
AsByteStream SwitchParameter If set, will output a byte stream.
If not set, will output a base64 encoded string.
Examples
Example 1
Compress-Zippy "Hello World"
Example 2
Compress-Zippy "Hello World" -Algorithm Deflate
Example 3
Compress-Zippy "Hello World" -Algorithm GZip
Example 4
Compress-Zippy "Hello World" -Algorithm Zlib
Example 5
Compress-Zippy "Hello World" -Algorithm Brotli -AsByteStream
Example 6
Compress-Zippy "Hello World" -Algorithm Deflate -AsByteStream
Example 7
Compress-Zippy "Hello World" -Algorithm GZip -AsByteStream
Example 8
Compress-Zippy "Hello World" -Algorithm Zlib -AsByteStream

Expand-Zippy

Expands Compressed Data

Expands Compressed Data using the .NET GZipStream class

Parameters
Name Type Description
CompressedData String The compressed data, as a Base64 string
BinaryData Byte[] The compressed data, as a byte array
AsByteStream SwitchParameter If set, will output a byte[] of decompressed bytes.
AsBase64 SwitchParameter If set, will output the decompressed data as a base64 string
Algorithm String The compression algorithm.
By default, Brotli.
Encoding Encoding The text encoding.
By default, this will be the $outputEncoding
Examples
Example 1
Compress-Zippy -String ("abc" * 1kb) | 
    Expand-Zippy
Example 2
Compress-Zippy "Hello World" | Expand-Zippy
Example 3
Compress-Zippy "Hello World" -Algorithm Deflate |
    Expand-Zippy -Algorithm Deflate
Example 4
Compress-Zippy "Hello World" -Algorithm GZip |
    Expand-Zippy -Algorithm GZip
Example 5
Compress-Zippy "Hello World" -Algorithm Zlib  |
    Expand-Zippy -Algorithm Zlib
Example 6
Compress-Zippy "Hello World" -Algorithm Brotli -AsByteStream |
    Expand-Zippy
Example 7
Compress-Zippy "Hello World" -Algorithm Deflate -AsByteStream |
    Expand-Zippy -Algorithm Deflate
Example 8
Compress-Zippy "Hello World" -Algorithm GZip -AsByteStream |
    Expand-Zippy -Algorithm GZip
Example 9
Compress-Zippy "Hello World" -Algorithm Zlib -AsByteStream |
    Expand-Zippy -Algorithm Zlib

About

Easy Compression in PowerShell

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages