KeePass integration
I suggest adding to https://winscp.net/eng/docs/integration_keepass
<code>
cmd://"{ENV_PROGRAMFILES_X86}\WinSCP\WinSCP.exe" {BASE:SCM}://{USERNAME}:{PASSWORD}@{BASE:HOST}:{T-REPLACE-RX:/{BASE:PORT}/-1//}{BASE:PATH} {T-CONV:`{T-REPLACE-RX:|{BASE:QUERY}|^\?||}`Uri-Dec`}
</code>
The ''%%{T-REPLACE-RX:/{BASE:PORT}/-1//}%%'' is a workaround for KeePass resolving the ''{BASE:PORT}'' placeholder to ''-1'', when a password entry //%%URL%%// field does not specify the port explicitly and KeePass does not know the protocol (such as ''sftp'') to substitute a standard port.
The ''%%{T-CONV:`{T-REPLACE-RX:|{BASE:QUERY}|^\?||}`Uri-Dec`}%%'' to pass ''{BASE:QUERY}'' to WinSCP.exe as parameters.
For this on %%URL%% Override window, to //Scheme// field, enter ``winscp``. In //%%URL%% Override// field, enter:
<code>
cmd://"{ENV_PROGRAMFILES_X86}\WinSCP\WinSCP.exe" {USERNAME}@{BASE:HOST}{BASE:PATH} {T-CONV:`{T-REPLACE-RX:|{BASE:QUERY}|^\?||}`Uri-Dec`}
</code>
The ''%%{USERNAME}@{BASE:HOST}%%'' to pass to WinSCP.exe not as URL but as previously configured Site.