如何将目录中的文件名与列表对象中的文件名进行比较并复制到新目录

时间:2014-11-22 19:20:22

标签: c#

我需要将目录中的所有文件与列表中的文件名进行比较。 在下面的示例中,文件x.txt在目录中不是exist

我需要使用单个foreach循环。但是,即使列表不匹配,文件也在复制。如果列表与所有文件匹配,我只需要复制文件。

以下是一个示例代码:

    static void Main(string[] args)
    {
        string dir = @"C:\example\";
        string backupDir = @"C:\exampleBackup\";

        var files = new List<string> { "a.txt", "b.txt", "c.txt", "x.txt" };

        foreach (var file in files)
        {
            if(!File.Exists(Path.Combine(dir, file)))
            {

           //do this only if the list and directory matches

                Console.Write("Directory and List do not match:\n");
                break;
            }

          //If the list does not match the directory or either way then do this.
            else
            {
                Console.Write("Directory and List Match:\n");

         //if match then copy files to new directory
         File.Copy(Path.Combine(dir, file), Path.Combine(backupDir, file), true);
         }
       }

        Console.Write("Enter any key to exit");
        Console.ReadKey();
    }

0 个答案:

没有答案