Public/Invoke-ZipDirectory.ps1
function global:Invoke-ZipDirectory { <# .EXTERNALHELP HelperFunctions.psm1-Help.xml #> [CmdletBinding()] param ( [Parameter(Mandatory = $true, ValueFromPipeline = $true, HelpMessage = 'Name of archive file to create.')] [String]$zipFileName, [Parameter(Mandatory = $true, ValueFromPipeline = $true, HelpMessage = 'Name of directory containing files to zip.')] [String]$sourceDir, [Parameter(Mandatory = $false, ValueFromPipeline = $true, HelpMessage = 'Compression type.')] [String]$ArchiveMode ) Begin { Add-Type -Assembly System.IO.Compression.FileSystem Switch ($ArchiveMode) { "Fast"{ $compressionLevel = [System.IO.Compression.CompressionLevel]::Fastest; Break } "None"{ $compressionLevel = [System.IO.Compression.CompressionLevel]::NoCompression; Break } default{ $compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal } } } Process { [System.IO.Compression.ZipFile]::CreateFromDirectory($sourceDir, $zipFileName, $compressionLevel, $false) } } #End function Invoke-ZipDirectory |