代码该如何写??

解决方案 »

  1.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                
                string sourcepath = AppDomain.CurrentDomain.BaseDirectory+@"\sourcedir";
                string targetpath = AppDomain.CurrentDomain.BaseDirectory+@"\targetdir";
                string filename = string.Empty;
                DirectoryInfo dir = new DirectoryInfo(sourcepath);
                FileInfo[] files = dir.GetFiles();
                foreach(FileInfo fi in files){
                    filename = fi.Name;
                    fi.CopyTo(targetpath+@"\"+filename,true);
                }
            }
        }
    }
      

  2.   

    有装msdn的话就看看这个ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref8/html/M_System_IO_Directory_Move_1_d460c748.htm
      

  3.   

    public void CopyDir(string sourcedir, string destdir)
            {
                DirectoryInfo source = new DirectoryInfo(sourcedir);
                if (!Directory.Exists(destdir))
                    Directory.CreateDirectory(destdir);            FileInfo[] files = source.GetFiles();
                foreach (FileInfo file in files)
                {
                    File.Copy(file.FullName, destdir + "\\" + file.Name);
                }
                DirectoryInfo[] dir = source.GetDirectories();
                foreach (DirectoryInfo d in dir)
                {
                    Directory.CreateDirectory(destdir + "\\" + d.Name);
                    CopyDir(d.FullName, destdir + "\\" + d.Name);
                }        }
     CopyDir(@"D:\Project\Windows Mobile\Windows Mobile\PdaWebServer", @"d:\copy");自己改改吧。你也可以用Process.Start("copy.bat");执行bat文件来执行
      

  4.   

    用File.Copy()方法或者FileInfo类对象的CopyTo()方法
      

  5.   

    //项目中添加Microsoft.VisualBasic引用Microsoft.VisualBasic.FileIO.FileSystem.CopyDirectory(
        @"c:\temp\a", @"c:\temp\a_bak");
      

  6.   


    /// <summary>
            /// 复制目录
            /// </summary>
            /// <param name="srcPath">源路径</param>
            /// <param name="destPath">目标路径</param>
            private void CopyDirectory(string srcPath, string destPath)
            {
                if (!Directory.Exists(srcPath))
                {
                    throw new Exception("未找到源路径!");
                }
                if (!Directory.Exists(destPath))
                {
                    Directory.CreateDirectory(destPath);
                }
                srcPath = srcPath.Trim();
                if (srcPath[srcPath.Length - 1].Equals(@"\"))
                {
                    srcPath = srcPath.Remove(srcPath.Length - 1);
                }
                string shortPathName = srcPath.Substring(srcPath.LastIndexOf(@"\") + 1);
                destPath = AppendDirSplit(destPath);
                destPath += (shortPathName + @"\");
                foreach (string fileName in Directory.GetFiles(srcPath))
                {
                    int startIndex = fileName.LastIndexOf(@"\") + 1;
                    string destFileName = destPath + fileName.Substring(startIndex);
                    if (!Directory.Exists(destPath))
                    {
                        Directory.CreateDirectory(destPath);
                    }
                    File.Copy(fileName, destFileName, true);
                }
                foreach (string directoryName in Directory.GetDirectories(srcPath))
                {
                    CopyDirectory(directoryName, destPath);
                }
            }
      

  7.   

    杂个好象都不行喃。。
    我想把@"C:\TEMP\downfile\ 里的文件全部放到@"C:\TEMP\ 后,删除@"C:\TEMP\downfile\里的文件麻烦了
      

  8.   

    小修改一下代码即可完成楼主问题。
    递归?代码只是提供一个思路,并不是终极解决方案。using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                
                string sourcepath = @"c:\\Temp\\downfile";
                string targetpath = @"c:\\Temp";
                string filename = string.Empty;
                DirectoryInfo dir = new DirectoryInfo(sourcepath);
                FileInfo[] files = dir.GetFiles();
                foreach(FileInfo fi in files){
                    filename = fi.Name;
                    fi.MoveTo(targetpath+@"\"+filename);
                }
            }
        }最后建议楼主学习下C#的io类库。
      

  9.   

     递归遍历  
     new DirectoryInfo() 
     File.Copy
      

  10.   

    谢谢大家,问题解决了
                // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
                      string[] fileList = Directory.GetFiles(@"C:\TEMP\downfile\");
                       
                        // 遍历所有的文件和目录
                        foreach (string file in fileList)
                        {
                            // 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
                            if (File.Exists(file))
                            {
                                char c = @"\".ToCharArray(0, 1)[0]; ;
                                string [] fileName=file.Split(c);
                                string destPath = Application.StartupPath+@"\" + fileName[fileName.Length - 1];                             File.Copy(file,destPath, true);
                            }
                            
                         }