.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);
    }

这样就能把文件夹下,如果是文件夹就创建文件夹,然后便利其内容,复制;如果是文件就直接复制到目标文件夹了

posted @ 2012-11-30 08:48  日月当空  阅读(6075)  评论(0编辑  收藏  举报