2016-02-28 3 views
1

Я новичок в WinSCP. Я сталкиваюсь с трудностями в том, чтобы сделать путь к динамическому, потому что папка на моем FTP генерируется следующим образом: root/data/20160222/00(hour)/00(minute)/test.json*C# WinSCP .NET сборка Загрузите последний файл из последнего каталога

Этот путь также всегда содержит более одного файла.

SessionOptions sessionOptions = new SessionOptions 
{ 
    Protocol = Protocol.Ftp, 
    HostName = "192.168.1.100", 
    UserName = "admin", 
    Password = "admin",  
}; 

string localPath = @"c:\\gatewayftp\\json"; 
// this path needs to take the latest date and the latest hour and minutes every day 
string remotePath = "/data/20160228/2100/59" 

Теперь я устанавливаю фиксированный путь, борюсь за решение.

ответ

2

Расширение на примере WinSCP .NET сборки для Downloading the most recent file:

string remotePath = "/data"; 
// In each of three levels of hierarchy... 
for (int i = 0; i < 3; i++) 
{ 
    // ... pick the last file/directory alphabetically 
    // (use .LastWriteTime instead of .Name to pick the latest file/directory by time) 
    remotePath += 
     "/" + 
     session.ListDirectory(remotePath).Files 
      .OrderByDescending(file => file.Name).First().Name; 
} 

Смотрите также documentation for Session.ListDirectory.

+0

Я получаю ошибку исключения в WinSCP.SessionRemoteException: Ошибка перечисления данных каталога/20160228/---> winSCP.SessionException: не удалось удалить список каталогов. Ошибка смены каталога – NewUser

+0

Включить ведение журнала ('Session.SessionLogPath') и прикрепить журнал к вашему вопросу. –

+0

спасибо решить проблему Martin с помощью функции C# функции datetime. пожалуйста, закройте эту тему, спасибо. – NewUser

Смежные вопросы