zoukankan      html  css  js  c++  java
  • 文件与文件夹的完全复制

    文件与文件夹的完全复制,包扩子目录与子目录的文件

    static void Main(string[] args)
            {
                string dir1 = @"E:MyTest2.NETFileAndDirCopyfile1";
                string dir2 = @"E:MyTest2.NETFileAndDirCopyfile2";
    
                FileAndDirFullCopy(dir1, dir2);
    
                Console.ReadKey();
            }
    
            /// <summary>
            /// Full copies of files and directories
            /// </summary>
            /// <param name="sourceDir">source Dir.</param>
            /// <param name="destinationDir">destination Dir.</param>
            public static void FileAndDirFullCopy(string sourceDir, string destinationDir)
            {
                DirectoryInfo source = new DirectoryInfo(sourceDir);
    
                //Files
                FileInfo[] files = source.GetFiles();
                foreach (var file in files)
                {
                    string copyToFile = Path.Combine(destinationDir, file.Name);
                    if (!File.Exists(copyToFile))
                    {
                        file.CopyTo(copyToFile);
                        Console.WriteLine($"文件:({file.FullName})被复制到({copyToFile}).
    ");
                    }
    
                    Console.WriteLine($"文件:({file.FullName})复制结束.");
                }
    
                //subfolders and subfiles
                DirectoryInfo[] subDirs = source.GetDirectories();
                foreach (var subDir in subDirs)
                {
                    //Directories
                    string copyToSubDir = Path.Combine(destinationDir, subDir.Name);
                    if (!Directory.Exists(copyToSubDir))
                    {
                        Console.WriteLine($"目录:{subDir.FullName},被创建.
    ");
                        Directory.CreateDirectory(copyToSubDir);
                    }
    
                    //subfiles
                    FileInfo[] subfiles = subDir.GetFiles();
                    foreach (var subfile in subfiles)
                    {
                        string copyToSubFile = Path.Combine(copyToSubDir, subfile.Name);
                        if (!File.Exists(copyToSubFile))
                        {
                            subfile.CopyTo(copyToSubFile);
                            Console.WriteLine($"文件:({subfile.FullName})被复制到({copyToSubFile}).
    ");
                        }
                    }
    
                    //subfolders
                    FileAndDirFullCopy(subDir.FullName, copyToSubDir);
    
                    Console.WriteLine($"目录:({subDir.FullName})复制结束.");
                    Console.WriteLine();
                }
            }
    
  • 相关阅读:
    CSP-S2019游记
    SOJ 一句话题解整理
    CF547E Mike and Friends
    CF506E Mr. Kitayuta's Gift
    在windows环境下安装和使用Python(CPython)
    GeekGame2020_部分WriteUp
    php通过curl传输JSON对象
    Invalid datetime format: 1292 Incorrect datetime value
    解决 select2 开启 tags 不能输入中文的问题
    electerm 设置同步(Setting sync)
  • 原文地址:https://www.cnblogs.com/tangge/p/14719977.html
Copyright © 2011-2022 走看看