C# 把一個文件夾下所有文件復制到另一個文件夾下


C# asp.net 把一個文件夾下所有文件復制到另一個文件夾下  求代碼   


在線等!



隨便看一下這個貼 我好結這個貼 http://topic.csdn.net/u/20101011/17/427dad67-9c19-45b1-82d7-b813fc24241e.html

11 个解决方案

#1


一般都是遍歷文件夾下的所有非文件夾的文件(即有后綴名的文件),再執行復制的,如果文件夾下還有文件夾,都要遍歷,代碼暫時找不到,大概思路就是這樣

#2


遞歸就可以搞定
 
void CopyUpdateFile(string srcPath, string aimPath)
        {
            if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)
                aimPath += Path.DirectorySeparatorChar;
            if (!Directory.Exists(aimPath))
                Directory.CreateDirectory(aimPath);
            if (!Directory.Exists(srcPath))
                return;
            string[] fileList = Directory.GetFileSystemEntries(srcPath);

            foreach (string file in fileList)
            {
                int k = file.LastIndexOf("\\");
                string filename = file.Substring(k + 1);
                if (filename.ToLower() != Path.GetFileName(Application.ExecutablePath).ToLower())
                {
                    if (Directory.Exists(file))
                        CopyUpdateFile(file, aimPath + Path.GetFileName(file));
                    else
                    {
                        try
                        {
                            File.Copy(file, aimPath + Path.GetFileName(file), true);
                            //File.Delete(file);
                        }
                        catch (Exception e)
                        {
                           Console.WriteLine("復制文件失敗:" + file + e.Message);
                            continue;
                        }
                    }
                }
            }
        }

#3


上面是我以前寫的一個函數,大概意思就是這樣的

 int k = file.LastIndexOf("\\");
                string filename = file.Substring(k + 1);
                if (filename.ToLower() != Path.GetFileName(Application.ExecutablePath).ToLower())

把上面這幾句去掉,對你沒用,你不需要判斷

#4


怎么調用函數啊

#5


引用 4 樓 wyg06102 的回復:
怎么調用函數啊

一個是目標路徑一個是你要復制到的路徑 

#6


System.IO.Directory.Copy("源目錄","目標目錄")

#7



善用baidu
http://www.cnblogs.com/c-delight/archive/2005/10/09/251126.html

#8


嘿嘿,學習,試用了好用!

#9


Directory.Move("", "");

#10


解決了,謝謝,各位

#11


引用 2 樓 errorcode1987 的回復:
遞歸就可以搞定
 
void CopyUpdateFile(string srcPath, string aimPath)
        {
            if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)
                aimPath += Path.DirectorySepar……



這個不錯

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: