C# 如何使用renci库在sftp中移动文件?
我正在尝试移动文件,但未发生任何事情,也未报告任何异常C# 如何使用renci库在sftp中移动文件?,c#,.net,visual-studio-2017,sftp,ssh.net,C#,.net,Visual Studio 2017,Sftp,Ssh.net,我正在尝试移动文件,但未发生任何事情,也未报告任何异常 public static void MoveFiles(string source, string destination, LoginInfo loginInfo) { using (SftpClient sftp = new SftpClient(loginInfo.Uri, loginInfo.Port, loginInfo.User, loginInfo.Password)) {
public static void MoveFiles(string source, string destination, LoginInfo loginInfo)
{
using (SftpClient sftp = new SftpClient(loginInfo.Uri, loginInfo.Port, loginInfo.User, loginInfo.Password))
{
foreach (SftpFile file in sftp.ListDirectory(source))
{
file.MoveTo(destination + file.Name);
}
}
}
调试器只需从foreach中退出:
我做错了什么
我正在使用以下依赖项:
using Renci.SshNet;
using Renci.SshNet.Sftp;
您需要首先使用将客户端连接到服务器
sftp.Connect();
如果出现任何错误,您还应该将其包装在try-catch中
public static void MoveFiles(string source, string destination, LoginInfo loginInfo) {
try {
using (SftpClient sftp = new SftpClient(loginInfo.Uri, loginInfo.Port, loginInfo.User, loginInfo.Password)) {
sftp.Connect();
var files = sftp.ListDirectory(source)
foreach (SftpFile file in files) {
file.MoveTo(destination + file.Name);
}
}
} catch(Exception ex) {
//...handle
}
}
您需要首先使用将客户端连接到服务器
sftp.Connect();
如果出现任何错误,您还应该将其包装在try-catch中
public static void MoveFiles(string source, string destination, LoginInfo loginInfo) {
try {
using (SftpClient sftp = new SftpClient(loginInfo.Uri, loginInfo.Port, loginInfo.User, loginInfo.Password)) {
sftp.Connect();
var files = sftp.ListDirectory(source)
foreach (SftpFile file in files) {
file.MoveTo(destination + file.Name);
}
}
} catch(Exception ex) {
//...handle
}
}
你忘了先“连接”你需要先将客户机连接到服务器你们都是对的,但为什么没有引发任何异常?用try-catch包装它,看看是否有异常caught@Nkosi我不知道没有你我该怎么办,伙计。在过去的几年里,你对我帮助很大。谢谢你所做的一切。你忘了先“连接”你需要先将客户端连接到服务器你们都是对的,但为什么没有引发任何类型的异常?用try-catch包装它,看看是否有异常caught@Nkosi我不知道没有你我该怎么办,伙计。在过去的几年里,你对我帮助很大。谢谢你所做的一切。