Вы можете вызвать метод Tamir.SharpSsh.Sftp.GetFile
, используя путь к файлу, который вы хотите проверить, существует (пример в C #, извините):
private bool FileExists(string filePath)
{
try
{
SftpConnection connection = new SftpConnection(_host, _username, _password);
connection.Connect(_port);
connection.Get(filePath, _toDir);
}
catch(JSchException)
{
return false;
}
return true;
}
Я также заметил несколько других проблем, связанных с использованием этой библиотеки - например, отсутствие метода GetFileInfo
или рекурсивные методы Gets and Puts. Но в целом все получится.
Простой факт заключается в том, что Tamir.SharpSsh не может переименовать файл удаленно - он просто не реализует эту функцию. Вы можете приобрести лучшую библиотеку, которая имеет гораздо больше функций, таких как:
- Программное обеспечение Kellerman .NET SFTP Library
- wodSFTP.NET
- Rebex SFTP для .NET
- edtFTPnet / PRO
или вы можете расширить SharpSsh, поскольку он с открытым исходным кодом.