Server IP : 180.180.241.3 / Your IP : 216.73.216.252 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Program Files (x86)/WinSCP/Extensions/ |
Upload File : |
# @name Generate &HTTP URL # @command powershell.exe -ExecutionPolicy Bypass -STA -NoProfile -File "%EXTENSION_PATH%" -webRoot "%WebRoot%" -rootPath "%RootPath%" -hostName "%HostName%" -serverName "!@" -path "!/" %Https% %Pause% %Clipboard% %Open% !& # @description Generates HTTP URL of the selected file # @flag RemoteFiles # @flag ShowResultsInMsgBox # @version 4 # @homepage https://winscp.net/eng/docs/extension_generate_http_url # @require WinSCP 5.10 # @option - -site group "URL" # @option - -site label "These options are site-specific." # @option WebRoot -site textbox "&Web root path:" # @option Https -site checkbox "Use HTTP&S" "" "-https" # @option RootPath -site textbox "&URL root path (optional):" # @option HostName -site textbox "&Web server hostname override (optional):" # @option - group "Options" # @option Pause checkbox "Display URL" "-pause" "-pause" # @option Clipboard checkbox "Copy URL to clipboard" "-clipboard" "-clipboard" # @option Open checkbox "Open URL in web browser" "" "-open" # @optionspage https://winscp.net/eng/docs/extension_generate_http_url#options param ( [Parameter(Mandatory = $True)] $webRoot, $rootPath, $hostName, $serverName, [Parameter(Mandatory = $True)] $path, [Switch] $https, [Switch] $pause, [Switch] $clipboard, [Switch] $open, [Parameter(Mandatory = $True, ValueFromRemainingArguments = $True, Position = 0)] $paths ) try { if (!$webRoot -or ($webRoot.SubString($webRoot.Length - 1, 1) -ne "/")) { $webRoot += "/" } $result = $Null foreach ($filePath in $paths) { $filePath = "$path$filePath" if (($filePath.Length -lt $webRoot.length) -or ($filePath.SubString(0, $webRoot.Length) -ne $webRoot)) { throw "**The path $filePath is not under web root $webRoot.**" } if ($rootPath) { if ($rootPath.SubString($rootPath.Length - 1) -ne "/") { $rootPath += "/" } } else { $rootPath = "/" } $urlPath = $filePath.SubString($webRoot.Length) $urlPath = ($urlPath -split "/" | %{ [System.Uri]::EscapeDataString($_) }) -join "/" if ($https) { $protocol = "https://" } else { $protocol = "http://" } if (!$hostName) { $hostName = $serverName } $url = "$protocol$hostName$rootPath$urlPath" $result += $url if ($paths.Count -gt 1) { $result += "`r`n" } if ($open) { Start-Process $url } } if ($pause) { Write-Host -NoNewline $result } if ($clipboard) { Add-Type -Assembly PresentationCore [Windows.Clipboard]::SetText($result) } $result = 0 } catch { Write-Host "Error: $($_.Exception.Message)" $result = 1 } exit $result