如何解决使用WinSCP .NET程序集更改根SFTP目录
我正在为一个允许我访问两个特定文件夹及其子文件夹的客户端工作。第一个曾经是我们以前的工作空间,现在我们将切换到第二个。
当我使用WinSCP GUI连接到SFTP时,它将我连接到旧文件夹。但是,我可以通过单击设置并在“远程路径”字段中添加“新”路径来更改此设置。连接后,会话将自动将我带到新的默认文件夹/工作区。
我的问题是我该如何使用.NET和各自的winscpnet库来做到这一点?
问题是会话的根目录与远程路径不同。
示例:
会话目录为/C/Document/
。
远程路径为/C/Inetpub/ftproot/username/
当我在终端上使用以下命令时:
winscp.com> open sftp://someone:password;fingerprint=something@ipaddress/C/Inetpub/ftproot/username
winscp.com> put some.txt /in
winscp.com> exit
工作正常!因为如我们所见,我的会话目录为/C/Inetpub/ftproot/username/
。
是否可以在C#中设置会话根路径?
已解决:您是对的,它是虚拟路径,因此/ c / Inetpub而不是c / Inetpub
解决方法
WinSCP .NET程序集不使用工作目录的概念。它始终使用绝对路径。
因此,如果您将GUI会话配置为从/new/path
开始,则可以将其用作WinSCP .NET程序集中的绝对路径。
session.PutFiles(@"c:\local\path\*","/new/path/",false,transferOptions);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。