![](/img/trans.png)
[英]Code to download file from FTP with WinSCP .NET assembly does not connect, but I can connect in WinSCP GUI
[英]Download all files except a specific folder from FTP server using WinSCP .NET assembly
到目前為止,這是我用來獲取文件夾內所有項目的代碼,但在此文件夾內,有一個我不想包含在下載中的子文件夾,有沒有辦法不包含該文件夾?
session.GetFiles("/*.*", @"D:\\Download\\", false, transferOptions);
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult =
session.GetFiles("/*.*", @"D:\Download\", false, transferOptions);
這是我用來下載所有文件的完整代碼
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Ftp,
HostName = "sample",
UserName = "sample",
Password = "sample",
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Your code
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult;
transferResult =
session.GetFiles("/*.*", @"D:\Download\", false, transferOptions);
// Print results
foreach (TransferEventArgs transfer in transferResult.Transfers)
{
listBox1.Items.Add("Files Downloaded : "+ transfer.FileName);
}
}
編輯:這是我在FileMask
嘗試過的
TransferOptions transferOptions = new TransferOptions();
transferOptions.FileMask = "/*.*|/.git";
TransferOperationResult transferResult;
transferResult =
session.GetFiles("/*.*", @"D:\Download\", false, transferOptions);
使用TransferOptions.FileMask
IE
TransferOptions transferOptions = new TransferOptions();
transferOptions.FileMask = "*.* | .git/";
...
...
transferResult = session.GetFiles("/someremotefolder/*.*", @"D:\Download\", false, transferOptions);
注意: - 管道|
分隔符結合了include
和exclude
掩碼。
更多詳情: https : //winscp.net/eng/docs/file_mask#include_exclude
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.