You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
994 B
PowerShell
39 lines
994 B
PowerShell
<#
|
|
.SYNOPSIS
|
|
Unpack *.7z file
|
|
#>
|
|
function Extract-SevenZipArchive {
|
|
param(
|
|
[Parameter(Mandatory=$true)]
|
|
[String]$ArchivePath,
|
|
[Parameter(Mandatory=$true)]
|
|
[String]$OutputDirectory
|
|
)
|
|
|
|
Write-Debug "Extract $ArchivePath to $OutputDirectory"
|
|
7z x $ArchivePath -o"$OutputDirectory" -y | Out-Null
|
|
}
|
|
|
|
function Create-SevenZipArchive {
|
|
param(
|
|
[Parameter(Mandatory=$true)]
|
|
[String]$SourceFolder,
|
|
[Parameter(Mandatory=$true)]
|
|
[String]$ArchivePath,
|
|
[String]$ArchiveType = "zip",
|
|
[String]$CompressionLevel = 5,
|
|
[switch]$IncludeSymlinks
|
|
)
|
|
|
|
$ArchiveTypeArguments = @(
|
|
"-t${ArchiveType}",
|
|
"-mx=${CompressionLevel}"
|
|
)
|
|
if ($IncludeSymlinks) {
|
|
$ArchiveTypeArguments += "-snl"
|
|
}
|
|
Push-Location $SourceFolder
|
|
Write-Debug "7z a $ArchiveTypeArgument $ArchivePath @$SourceFolder"
|
|
7z a @ArchiveTypeArguments $ArchivePath $SourceFolder\*
|
|
Pop-Location
|
|
} |