Сборка 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 доступен пример реализации:
Рекурсивно скачать дерево каталогов с пользовательской обработкой ошибок.

Другие вопросы по тегам