Embora a resposta correta seja provavelmente usar o WinSCP e sua biblioteca C #, descobri uma maneira de fazer o PSCP funcionar quando a pasta de destino tem um espaço.
A resposta correta é fazer isso:
pscp.exe -pw MyPassword [email protected]:/etc/myfolder/myfile.opt "C:\download files"
Acontece que eu estava tendo outro problema que estava me fazendo pensar que o acima não estava funcionando. Originalmente eu estava usando o caminho completo para o executável PSCP.EXE. O caminho completo incluiu espaços. Então eu estava tentando fazer o seguinte:
"C:\My PSCP Folder\pscp.exe" -pw MyPassword [email protected]:/etc/myfolder/myfile.opt "C:\download files"
E eu estava tentando chamar isso de C # usando Process.Start () e estava falhando. Parecia que poderia lidar com isso se houvesse um espaço no caminho do PSCP ou no caminho de destino, mas não em ambos. Eu consertei isso incluindo o caminho para o executável do PSCP em minhas variáveis de ambiente do Windows. Agora posso apenas chamar o PSCP.EXE e ele funciona com as aspas ao redor da pasta de destino.