using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
using System.Net;
using System.Net.Sockets;
namespace WindowsApplication1
{
public partial class Form2 : Form
{
static int sum;
int sum1 = 0;
string strin;
string strout;
this.label1.Text = sum.ToString();
Form3 f3 = new Form3(sum,strin,strout);
DialogResult dia = f3.ShowDialog();
if (dia == DialogResult.OK) {
MessageBox.Show("ok");
System.Diagnostics.Process.Start(strout);
}
}
private void jisuan(string strin)
{
DirectoryInfo d = new DirectoryInfo(strin);
FileSystemInfo[] f = d.GetFileSystemInfos();
foreach (FileSystemInfo i in f)
{
if (i is DirectoryInfo)
{
jisuan( strin + i.Name + "\\");
}
else if (i is FileInfo)
{
sum++;
}
}
}
public void copyDir(string strin,string strout,BackgroundWorker bw,DoWorkEventArgs e)
{
DirectoryInfo d = new DirectoryInfo(strin);
FileSystemInfo[] f = d.GetFileSystemInfos();
foreach (FileSystemInfo i in f)
{
if (i is DirectoryInfo)
{
DirectoryInfo di = new DirectoryInfo(strout+i.Name);
di.Create();
copyDir(strin + i.Name + "\\", strout + i.Name + "\\",bw,e);
}
else if (i is FileInfo)
{
((FileInfo)i).CopyTo(strout + i.Name, true);
sum1++;
int j = 100 * sum1 / sum;
bw.ReportProgress(j);
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class Form3 : Form
{
int sum=0;
string strin;
string strout;