Сборка WinSCP .NET Пропустить сбои
Я пытаюсь загрузить полную папку через WinSCP. Однако могут быть файлы, на которые у меня нет разрешения загружать их.
/www/
/www/file1 <-- No permission
/www/file2 <-- Permission
/www/ ..
/www/file999
/www/folder1/
/www/folder1/file28328
/www/folder1/file342423 <-- No permission
etc...
Есть несколько тысяч файлов, поэтому я не хочу их помещать в черный список. Я загружаю их, используя следующую команду:
using(var session = new Session())
{
session.Open(options);
session.GetFiles("/www", "C:/backup");
}
Это тогда терпит неудачу на file1, и не продолжается. Есть ли способ (желательно вариант), где я могу просто пропустить эти файлы? Я просто хочу, чтобы он скачивал все, что мог.
1 ответ
Решение
Там нет такой возможности (пока).
Но вы можете сделать это "вручную", повторяя структуру каталогов, загружая файлы один за другим, обрабатывая ошибки по своему усмотрению.
В C# и Powershell доступен пример реализации:
Рекурсивно скачать дерево каталогов с пользовательской обработкой ошибок.