如何将文件夹从共享驱动器复制到c#中的c:\ program文件

时间:2015-03-13 10:58:02

标签: c#

复制目录错误和声明错误

class Program
{
    static void Main(string[] args)
    {
        Program prg = new Program();
        prg.CopyFolder(@"C:\Temp\_NB\HELI\MRJ", @"C:\Program Files\");

    }
     private static void CopyFolder(string SourceFolder, string targetPath, bool overwriteexistingFiles = true,string fileTypes ="*.*",bool createTargetIfNotexists = true)
    {
        bool ret = false;
        try
        {
            SourceFolder = SourceFolder.TrimEnd('\\', '/'); ;
            targetPath = targetPath.TrimEnd('\\','/');

            if (Directory.Exists(SourceFolder) == false)
            {
                Console.WriteLine("Source folder does not exist.");
                Environment.Exit(0);
            }
            else 
            {
                Directory.CreateDirectory(targetPath);

                string [] files  = Directory.GetFiles(SourceFolder,fileTypes);
                foreach (string file in files)
                {
                    FileInfo flinfo = new FileInfo(file);
                    flinfo.CopyTo(targetPath + flinfo.Name, overwriteexistingFiles);
                }
                string [] dirs = Directory.GetDirectories(SourceFolder);
                foreach (string dir in dirs)
                {
                    DirectoryInfo drinfo = new DirectoryInfo(dir);

                    if (CopyDirectory(dir, targetPath + drinfo.Name, overwriteexistingFiles) == false)
                    {
                        throw new Exception("Unable to copy directory: "+dir);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);                
        }
    }
}

1 个答案:

答案 0 :(得分:0)

flinfo.CopyTo(Path.Combine(targetPath, flinfo.Name), true);

我认为这就是你所需要的。

相关问题