具体功能:
  将listBox中选中的多个文件,复制到指定的目录中,如何实现,谢谢了。

解决方案 »

  1.   

    遍历选中的文件名,File.Copy(path, path2);
      

  2.   

    /// <summary>
    /// 复制指定目录的所有文件,不包含子目录
    /// </summary>
    /// <param name="sourceDir">原始目录</param>
    /// <param name="targetDir">目标目录</param>
    /// <param name="overWrite">如果为true,表示覆盖同名文件,否则不覆盖</param>
    public static void CopyFiles(string sourceDir,string targetDir,bool overWrite)
    {
    CopyFiles(sourceDir,targetDir,overWrite,false);
    }
    /// <summary>
    /// 复制指定目录的所有文件
    /// </summary>
    /// <param name="sourceDir">原始目录</param>
    /// <param name="targetDir">目标目录</param>
    /// <param name="overWrite">如果为true,覆盖同名文件,否则不覆盖</param>
    /// <param name="copyDir">如果为true,包含目录,否则不包含</param>
    public static void CopyFiles(string sourceDir,string targetDir,bool overWrite,bool copyDir)   
    {
    string [] fileEntries = Directory.GetFiles(sourceDir);
    if(overWrite)
    {
    foreach(string fileName in fileEntries)
    {
    File.Copy(fileName,targetDir+fileName.Substring(fileName.LastIndexOf("\\")),true);
    //Console.WriteLine(fileName+"-->"+targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
    }
    }
    else
    {
    foreach(string fileName in fileEntries)
    {
    if(!File.Exists(targetDir+fileName.Substring(fileName.LastIndexOf("\\"))))
    {
    File.Copy(fileName,targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
    //Console.WriteLine(fileName+"-->"+targetDir+fileName.Substring(fileName.LastIndexOf("\\")));
    }
    }
    }
    if(copyDir)
    {
    foreach(string subDir in Directory.GetDirectories(sourceDir))
    {
    string newSubDir = targetDir+subDir.Substring(subDir.LastIndexOf("\\"));
    if(!Directory.Exists(newSubDir))
    Directory.CreateDirectory(newSubDir);
    CopyFiles(subDir,newSubDir,overWrite,copyDir);
    }
    }
    }