using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
///
///
///
namespace CopyFiles
{
///
///
///
public class CopyFilesHandler
{
///
///
///
///
///
public void CopyFiles(string strSouPath, string strDesPath)
{
Directory.CreateDirectory(strDesPath);
if (!Directory.Exists(strSouPath)) return;
string[] directories = Directory.GetDirectories(strSouPath);
if (directories.Length > 0)
{
foreach (string d in directories)
{
CopyFiles(d, strDesPath + d.Substring(d.LastIndexOf("\\")));
}
}
string[] files = Directory.GetFiles(strSouPath);
if (files.Length > 0)
{
foreach (string s in files)
{
string targetPath = strDesPath + s.Substring(s.LastIndexOf("\\"));
if (File.Exists(targetPath))
{
File.Delete(targetPath);
}
File.Copy(s, targetPath);
currCount++;
Console.WriteLine("" + currCount.ToString() + " / " + maxCount + " -> " + targetPath);
}
}
}
int currCount = 0;
int maxCount = 0;
List fileNameLiat = new List();
public void GetFileCount(string strSouPath)
{
if (!Directory.Exists(strSouPath)) return ;
string[] directories = Directory.GetDirectories(strSouPath);
if (directories.Length > 0)
{
foreach (string d in directories)
{
GetFileCount(d);
}
}
string[] files = Directory.GetFiles(strSouPath);
if (files.Length > 0)
{
foreach (string s in files)
{
fileNameLiat.Add(s);
}
}
maxCount = fileNameLiat.Count();
}
}
}