获取文件列表并复制到本地目录的有效方法

本文关键字:有效 方法 列表 文件 复制 获取 | 更新日期: 2023-09-27 18:26:50

我试图获取远程目录中的文件列表,并检查只有文件名为"test";然后复制到我的本地目录。

只是在这里做了一件简单的事情,但有人能告诉我处理这种情况的最佳方法吗。

class Program
{
    static void Main(string[] args)
    {
        var getfiles = new fileshare.Program();
        string[] filteredfiles =getfiles.GetFileList();
        bool b;
        foreach (string file in filteredfiles)
        { 
            if(b=file.Contains("test"))
            {
                getfiles.copytolocal(file);
            }
        }
    }
    private string[] GetFileList()
    {
        string[] filepaths = Directory.GetFiles(@"''testserver'dev");
        return filepaths;
    }
    private void copytolocal(string filename)
    {
        File.Copy(filename, @"C:'" + filename);
    }
}

即使我只是在复制文件时卡住了,文件名中包含整个目录,所以文件名看起来像"''''testserver''dev''test.txt"。所以它无法复制到本地。

获取文件列表并复制到本地目录的有效方法

您可以使用DirectoryInfo筛选到包含字符串"test"的任何文件:

private FileInfo[] GetFileList(string pattern)
{ 
    var di = new DirectoryInfo(@"''testserver'dev");
    return di.GetFiles(pattern);
}

然后:

 foreach (var file in GetFileList("*test*"))
 { 
     getfiles.copytolocal(file.FullName);
 }

您正在查找Path.GetFileName()(它返回一个字符串)。