.net 把 一個文件夾中的內容復制到另一個文件夾


View Code
/// <summary>
    /// 復制文件
    /// </summary>
    /// <param name="sources">源路徑</param>
    /// <param name="dest">新路徑</param>
    private void CopyFile(string sources, string dest)
    {
        DirectoryInfo dinfo = new DirectoryInfo(sources);
        //注,這里面傳的是路徑,並不是文件,所以不能保含帶后綴的文件                
        foreach (FileSystemInfo f in dinfo.GetFileSystemInfos())
        {
            //目標路徑destName = 目標文件夾路徑 + 原文件夾下的子文件(或文件夾)名字                
            //Path.Combine(string a ,string b) 為合並兩個字符串                     
            String destName = Path.Combine(dest, f.Name);
            if (f is FileInfo)
            {
                //如果是文件就復制       
                File.Copy(f.FullName, destName, true);//true代表可以覆蓋同名文件                     
            }
            else
            {
                //如果是文件夾就創建文件夾然后復制然后遞歸復制              
                Directory.CreateDirectory(destName);
                CopyFile(f.FullName, destName);
            }
        }
    }
View Code
/// <summary>
    /// 測試
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnTest_Click(object sender, EventArgs e)
    {
        string FilePath = @Server.MapPath("~/") + "Template\\Zhuanti\\" + this.txtFolder.Value.Trim();
        Directory.CreateDirectory(FilePath);
        string OldFilePath = Server.MapPath("~/") + "Template\\Zhuanti\\youjia\\";
        CopyFile(OldFilePath, FilePath);
    }

這樣就能把文件夾下,如果是文件夾就創建文件夾,然后便利其內容,復制;如果是文件就直接復制到目標文件夾了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM