1) Get directory contents using ReadDirectory() method
2) For each file name retrieved use SBUtils.Unit.FilenameMatchesMask() method to check if it matches your mask
3) Use DownloadFiles() method to retrieve the files you need.

I've added a task to ToDo list to introduce ReadDirectoryEx which will accept the mask and eliminate the need for step 2.

Thank you. It worked great except one detail. I used TSBSFTPFileTransferMode.ftmSkip in DownloadFiles() method and it did skip existing file. I expected that OnFileOperation() event will set Skip to True for this file but it sets it to False. I wanted to know which files were actually transferred and which one were skipped because they already exist.

Unfortunately there's no way to find this out at the moment because OnFileOperation is invoked in DownloadFileS, and file existence is checked in DownloadFile. I think we need to add some property that will contain a list of processed files.