我正在尝试从具有FTP / SFTP连接的远程服务器中获取特定文件,而我遇到的问题是,我正在尝试以特定模式获取远程目录中的文件数。我正在使用口罩,但不适用于我,它抛出异常:
这就是我所拥有的

DataFile.sRemoteDirectory = "/user/ftpuser/test/";
receivepattern = "Del*";
filesCount =
    session.ListDirectory(
        session.EscapeFileMask(DataFile.sRemoteDirectory + receivepattern))
    .Files.Where(x => !x.IsDirectory).Count();

最佳答案

这就是我所做的,并且有效!希望对某段代码有所帮助,我使用了正则表达式,其中receivepattern是使用的模式:

receivepattern = "^[\\d\\w]*" + receivepattern;
r = new Regex(receivepattern);
filesCount = session.ListDirectory(DataFile.sRemoteDirectory).Files.Where(x => !x.IsDirectory).Where(x => r.IsMatch(x.Name)).Count();

10-04 21:44