Não há como fazer o download de arquivos ZIP em nenhum protocolo de transferência de arquivos (SFTP, FTP, SCP ou WebDAV). É por isso que não existe essa função no WinSCP, pois não pode ser implementada de forma confiável.
No entanto, se você tiver um acesso shell ao servidor, poderá usar um comando shell para compactar os arquivos. Isso é, na verdade, o que o comando personalizado Tar / GZip faz.
Se você quiser em um só lugar (zip-e-download), você teria que implementar um comando personalizado complexo / extensão, que abre sua própria sessão para o download . Seria muito parecido com o pacote de arquivos para o arquivo ZIP e enviá-lo exemplo. Exceto, que usaria Session.ExecuteCommand
para executar zip
(ou similar) no servidor remoto.
Você pode escrever a extensão em qualquer idioma que desejar. O PowerShell é apenas a linguagem de script do Windows mais prontamente disponível com um bom suporte .NET (nativo). Embora seja possível no Bash também, você precisa usar um script Bash local (não é possível fazer o download de um arquivo usando um script Bash remoto). E não há Bash no Windows por padrão.