static void Main(string[] args)
{
string src = @"D:\發佈文件\XTPT\Content\img";
string src2 = @"D:\發佈文件\XTPT\Content\picture";
string dest =@"C:\Users\win 10\Desktop\新建文件夾 (2)\pic";
CopyDirectory(src, dest);
//moveFiles(src,dest);
//TestCopyDirectory(src, dest);
Console.WriteLine("複製圖片完成!");
Console.ReadLine();
}
private static void moveFiles(string srcFolder, string destFolder)
{
DirectoryInfo directoryInfo = new DirectoryInfo(srcFolder);
FileInfo[] files = directoryInfo.GetFiles();
string folderName = srcFolder.Substring(srcFolder.LastIndexOf("\\") + 1);
string desfolderdir = destFolder + "\\" + folderName;
foreach (FileInfo file in files)
{
if (file.Extension == ".png")
{
file.CopyTo(Path.Combine(destFolder, file.Name));
}
}
}
private static void CopyDirectory(string srcdir, string desdir)
{
string folderName = srcdir.Substring(srcdir.LastIndexOf("\\") + 1);
string desfolderdir = desdir + "\\" + folderName;
if (desdir.LastIndexOf("\\") == (desdir.Length - 1))
{
desfolderdir = desdir + folderName;
}
string[] filenames = Directory.GetFileSystemEntries(srcdir);
foreach (string file in filenames)// 遍歷所有的文件和目錄
{
if (Directory.Exists(file))// 先當作目錄處理如果存在這個目錄就遞歸Copy該目錄下面的文件
{
string currentdir = desfolderdir + "\\" + file.Substring(file.LastIndexOf("\\") + 1);
if (!Directory.Exists(currentdir))
{
Directory.CreateDirectory(currentdir);
}
CopyDirectory(file, desfolderdir);
}
else // 否則直接copy文件
{
string srcfileName = file.Substring(file.LastIndexOf("\\") + 1);
srcfileName = desfolderdir + "\\" + srcfileName;
if (!Directory.Exists(desfolderdir))
{
Directory.CreateDirectory(desfolderdir);
}
File.Copy(file, srcfileName);
}
}//foreach
}
/// <summary>
/// 不帶父目錄的複製圖片
/// </summary>
/// <param name="srcdir"></param>
/// <param name="desdir"></param>
private static void TestCopyDirectory(string srcdir, string desdir)
{
string[] filenames = Directory.GetFileSystemEntries(srcdir);
foreach (string file in filenames)// 遍歷所有的文件和目錄
{
if (Directory.Exists(file))// 先當作目錄處理如果存在這個目錄就遞歸Copy該目錄下面的文件
{
string currentdir = desdir + "\\" + file.Substring(file.LastIndexOf("\\") + 1);
if (!Directory.Exists(currentdir))
{
Directory.CreateDirectory(currentdir);
}
CopyDirectory(file, desdir);
}
else // 否則直接copy文件
{
string srcfileName = file.Substring(file.LastIndexOf("\\") + 1);
srcfileName = desdir + "\\" + srcfileName;
File.Copy(file, srcfileName);
}
}//foreach
}