等效命令或单行代码,如C#中unix中的mget命令

时间:2018-06-04 23:40:04

标签: c# ftp

我正在尝试将多个文件从服务器(特定目录说/ x /)FTP到本地目录。我知道我想要FTP的文件的名称,有没有办法在一个命令中FTP所有驻留在服务器的特定目录中的文件,如" mget()" unix中的命令。

目前我正在做以下事情

using (WebClient ftpClient = new WebClient())
{
ftpClient.Credentials = // credentials

ftpClient.DownloadFile("ftp://<ftp ip>//x//y//" + "x0.txt", @"D:\\test\\x\\" + "check" + "_a0.txt");
ftpClient.DownloadFile("ftp://<ftp ip>//x//y//" + "x1.txt", @"D:\\test\\x\\" + "check" + "_a1.txt");
ftpClient.DownloadFile("ftp://<ftp ip>//x//y//" + "x2.txt", @"D:\\test\\x\\" + "check" + "_a2.txt");
}

每次想要下载/复制文件到本地目录时都会建立FTP连接。

即使我按照以下命令

读取目录内容
reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
response = reqFTP.GetResponse();
                reader = new StreamReader(response.GetResponseStream());
                string line = reader.ReadLine();
                while (line != null)
                {
                    if (line.Contains("xyz"))
                    {
                        result.Append(line);
                        result.Append("\n");

                    }
                    line = reader.ReadLine();
                }

然后单独下载每个文件,它仍然会调用每个文件到FTP到本地目录。我正在寻找能够匹配模式的东西,例如&#34; wildcard&#34;并在一个命令中下载与模式或通配符匹配的所有文件。

提前感谢所有帮助。

由于

0 个答案:

没有答案