Skip to content

Instantly share code, notes, and snippets.

@Swimburger
Created December 31, 2020 00:54
Show Gist options
  • Save Swimburger/774ca2b63bad4a16eb2fa23b47297e71 to your computer and use it in GitHub Desktop.
Save Swimburger/774ca2b63bad4a16eb2fa23b47297e71 to your computer and use it in GitHub Desktop.
Minimal script to gzip and brotli compress a file
[CmdletBinding()]
param (
[Parameter(Mandatory=$true)]
[string]
$FilePath
)
$OutputBrotliFilePath = "$FilePath.br";
$OutputGzipFilePath = "$FilePath.gz";
$InputFileStream = [System.IO.File]::OpenRead($FilePath);
$OutputFileStream = [System.IO.File]::Create($OutputBrotliFilePath);
$BrotliCompressionStream = [System.IO.Compression.BrotliStream]::new($OutputFileStream, [System.IO.Compression.CompressionMode]::Compress);
$InputFileStream.CopyTo($BrotliCompressionStream);
$BrotliCompressionStream.Dispose();
$OutputFileStream.Dispose();
$OutputFileStream = [System.IO.File]::Create($OutputGzipFilePath);
$GzipCompressionStream = [System.IO.Compression.GZipStream]::new($OutputFileStream, [System.IO.Compression.CompressionMode]::Compress);
$InputFileStream.CopyTo($GzipCompressionStream);
$GzipCompressionStream.Dispose();
$OutputFileStream.Dispose();
$InputFileStream.Dispose();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment