Использование библиотеки для подключения к удаленному серверу и копирования файла. У меня есть процесс, который работает достаточно хорошо, но у меня есть некоторые более мелкие вещи, которые я, похоже, не могу решить, поскольку документация для библиотеки довольно тонкая.SharpSSH Progress and Rename
У меня есть две процедуры работы. Один из них использует класс Tamir.SharpSsh, а другой - класс Tamir.SharpSsh.jsch.
Использование класса Tamir.SharpSsh Я могу скопировать файл с локального сервера на удаленный сервер и нажмите на событие pogress. То, что я не могу сделать, это определить, существует ли конкретный файл на удаленном сервере /Report/data.txt на сервере. Мне нужно предпринять разные действия, если они существуют или нет. Также как бы переименовать файл на удаленном сервере. Ive попытался использовать SshExec с командой «rename», «rn» и «mv», и она, похоже, не работает.
Использование Tamir.SharpSsh.jsch Я могу скопировать файл с локального сервера на удаленный сервер. Я также могу переименовать файл на удаленном сервере. То, что я не могу сделать с этим классом, - это задействовать событие прогресса, чтобы отслеживать ход копирования. Также я не могу найти хороший способ проверить, существует ли конкретный файл на сервере. То, что я придумал груба и единственный способ, которым я мог придумать, чтобы проверить, и что является использование
Dim c As ChannelSftp Dim vct As Tamir.SharpSsh.java.util.Vector = c.ls(sRemoteFile) Dim cnt As Integer = vct.Count
Когда один или несколько файлов существует ли я получить счет никаких проблем. Когда нет файла, генерируется исключение.
В любом случае, у меня есть подпрограммы, в которых работают только некоторые незначительные вещи, в которых мне нужна помощь.
ТИА AGP
Да, я пробовал что-то подобное с Tamir.SharpSsh.jsch, но мне кажется странным, что вам нужно сделать исключение для dwtect отсутствия файла. вот что я сделал некоторое время назад – sinDizzy
Да, это странно. И, кроме того, его плохая практика - использовать исключения для логики, а не для обработки ошибок. Единственное другое предложение, которое я могу сделать, - попробовать продукт Rebex (http://www.rebex.net/sftp.net/), у которого есть метод FileExists, чтобы проверить, существует ли файл на сервере. API-интерфейсы в основном такие же, поэтому легко переноситься, но это не бесплатно. – Nobody