複製某一目錄下的所有文件
class App
{
/// <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);
}
}
}
}
{
/// <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);
}
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.