C#递归方法复制文件夹

此实例演示了用递归的方法复制指定文件夹下所有文件(包括子文件夹)到指定位置
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO ;
namespace temp3
{
    ///


    /// WebForm1 的摘要说明。
    ///
    public class WebForm1 : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.Button Button1;
    
        private void Page_Load(object sender, System.EventArgs e)
        {
            // 在此处放置用户代码以初始化页面
        }

        #region Web 窗体设计器生成的代码
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
            //
            InitializeComponent();
            base.OnInit(e);
        }
        
        ///
        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
        /// 此方法的内容。
        ///
        private void InitializeComponent()
        {    
            this.Button1.Click += new System.EventHandler(this.Button1_Click);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private void Button1_Click(object sender, System.EventArgs e)
        {
          CopyFiles(@"D:\PCT",@"E:\PCT");
        }
        private void CopyFiles(string varFromDirectory,string varToDirectory)
        {
            Directory.CreateDirectory(varToDirectory);

            if(!Directory.Exists(varFromDirectory)) return;

            string[] directories = Directory.GetDirectories(varFromDirectory);

            if(directories.Length > 0)
            {
                foreach(string d in directories)
                {
                    CopyFiles(d,varToDirectory + d.Substring(d.LastIndexOf("\\")));
                }
            }


            string[] files = Directory.GetFiles(varFromDirectory);

            if(files.Length > 0)
            {
                foreach(string s in files)
                {
                    File.Copy(s,varToDirectory + s.Substring(s.LastIndexOf("\\")));
                }
            }
        }

    }
}


posted @ 2007-04-10 10:58  随风而逝  阅读(3116)  评论(3编辑  收藏  举报