Differences
This shows you the differences between the selected revisions of the page.
2016-05-25 | 2016-05-25 | ||
logging (martin) | configurable (martin) | ||
Line 17: | Line 17: | ||
<code powershell - ZipUpload.ps1> | <code powershell - ZipUpload.ps1> | ||
# @name &ZIP and Upload... | # @name &ZIP and Upload... | ||
- | # @command powershell.exe -ExecutionPolicy Bypass -File "%EXTENSION_PATH%" -sessionUrl "!S" -remotePath "!/" -archiveName "!?&Archive name:?archive.zip!" -pause -sessionLogPath "%SessionLogPath%" !& | + | # @command powershell.exe -ExecutionPolicy Bypass -File "%EXTENSION_PATH%" -sessionUrl "!S" -remotePath "!/" -archiveName "!?&Archive name:?archive!" -pause -sessionLogPath "%SessionLogPath%" %Use7zip% -path7zip "%Path7zip%" -archive7zip %Archive7zip% !& |
# @description Packs the selected files to a ZIP archive and uploads it | # @description Packs the selected files to a ZIP archive and uploads it | ||
# @flag ApplyToDirectories | # @flag ApplyToDirectories | ||
Line 24: | Line 24: | ||
# @homepage ~~SELF~~ | # @homepage ~~SELF~~ | ||
# @require WinSCP 5.8.3 | # @require WinSCP 5.8.3 | ||
+ | # @option Use7zip checkbox "Use &7-zip" "" -use7zip | ||
+ | # @option Path7zip file "7-zip &path (7z.exe/7za.exe):" "C:\Program Files\7-Zip\7z.exe" | ||
+ | # @option Archive7zip dropdownlist "&Archive type (with 7-zip):" zip zip 7z xz gzip bzip2 tar | ||
# @option SessionLogPath file "&Session log file:" | # @option SessionLogPath file "&Session log file:" | ||
+ | # @optionpoge ~~SELF~~#options | ||
param ( | param ( | ||
Line 35: | Line 39: | ||
[Switch] | [Switch] | ||
$use7Zip = $False, | $use7Zip = $False, | ||
+ | # The 7z.exe can be replaced with portable 7za.exe | ||
+ | $path7zip = "C:\Program Files\7-Zip\7z.exe", | ||
+ | $archive7zip = "zip", | ||
[Parameter(Mandatory)] | [Parameter(Mandatory)] | ||
$archiveName, | $archiveName, | ||
Line 44: | Line 51: | ||
try | try | ||
{ | { | ||
- | Write-Host ("Archiving {0} files to archive {1}..." -f $localPaths.Count, $archiveName) | + | if ($use7Zip) |
+ | ···{ | ||
+ | ········$archiveName += "." + $archive7zip | ||
+ | ····} | ||
+ | else | ||
+ | { | ||
+ | ········$archiveName += ".zip" | ||
+ | } | ||
+ | Write-Host ("Archiving {0} files to archive {1}..." -f $localPaths.Count, $archiveName) | ||
+ | |||
$archivePath = Join-Path ([System.IO.Path]::GetTempPath()) $archiveName | $archivePath = Join-Path ([System.IO.Path]::GetTempPath()) $archiveName | ||
Line 57: | Line 73: | ||
{ | { | ||
# Create archive | # Create archive | ||
- | # The 7z.exe can be replaced with portable 7za.exe | + | & "$path7zip" a "-t$archive7zip" $archivePath $localPaths |
- | ········& "C:\Program Files\7-Zip\7z.exe" a -tzip $archivePath $localPaths | + | |
if ($LASTEXITCODE -gt 0) | if ($LASTEXITCODE -gt 0) | ||
Line 145: | Line 160: | ||
exit $result | exit $result | ||
</code> | </code> | ||
+ | |||
+ | ===== Options ===== | ||
+ | When the //Use 7-zip// is not checked, the extension uses a native .NET framework implementation for a ZIP compression. In this mode, the extension has no additional dependency. Particularly, if you want to use a different archive type, check the //Use 7-zip// and install the [[http://www.7-zip.org/download.html|7-Zip]]. | ||
+ | |||
+ | Use the //7-zip path// to select an alternative path to the ''7z.exe'' or ''7za.exe'', particularly if you are using a portable version. | ||
+ | |||
+ | When using 7-Zip, you can use the //Archive type// to select the archive type to create. | ||
+ | |||
+ | In the //Session log file// you can specify a path to a [[logging|session log file]] (for uploading). | ||
+ |