如何使用 renci 库在 sftp 中移动文件?
How to move a file in sftp using renci library?
我正在尝试移动文件,但没有任何反应,也没有报告异常。
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
}
}
我正在尝试移动文件,但没有任何反应,也没有报告异常。
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
}
}