WinForm(C#)复制文件夹

如:我想将 C:\abc文件夹复制到 D:\ 下面怎么办呀?

 

using System.IO; 

 

 /// <summary>

        /// 拷贝文件夹

        /// </summary>

        /// <param name="srcdir"></param>

        /// <param name="desdir"></param>

        private void CopyDirectory(string srcdir, string desdir)

        {

            string folderName = srcdir.Substring(srcdir.LastIndexOf("\\")+1);



            string desfolderdir = desdir +"\\"+ folderName;



            if (desdir.LastIndexOf("\\") == (desdir.Length - 1))

            {

                desfolderdir = desdir + folderName;

            }

            string[] filenames = Directory.GetFileSystemEntries(srcdir);



            foreach (string file in filenames)// 遍历所有的文件和目录

            {

                if (Directory.Exists(file))// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件

                {



                    string currentdir = desfolderdir + "\\" + file.Substring(file.LastIndexOf("\\") + 1);

                    if (!Directory.Exists(currentdir))

                    {

                        Directory.CreateDirectory(currentdir);

                    }



                    CopyDirectory(file, desfolderdir);

                }



                else // 否则直接copy文件

                {

                    string srcfileName = file.Substring(file.LastIndexOf("\\")+1);



                    srcfileName = desfolderdir + "\\" + srcfileName;





                    if (!Directory.Exists(desfolderdir))

                    {

                        Directory.CreateDirectory(desfolderdir);

                    }

                    

                    

                    File.Copy(file, srcfileName);

                }

            }//foreach 

}//function end 

你可能感兴趣的:(WinForm)