手机
当前位置:查字典教程网 >编程开发 >C#教程 >c#使用file.copy实现文件备份示例
c#使用file.copy实现文件备份示例
摘要:步骤:1、遍历D盘Source文件夹找出所有名称包含LTE的文件,文件路径存放到List中2、遍历List,把所有文件Copy到E盘的备份文...

步骤:

1、遍历D盘Source文件夹找出所有名称包含LTE的文件,文件路径存放到List<string>中

2、遍历List<string>,把所有文件Copy到E盘的备份文件夹中

复制代码 代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.DirectoryServices;

using System.IO;

namespace CopyLTE

{

class Program

{

static void Main(string[] args)

{

try

{

string txtPath = @"....Dirdirectory.txt";

string srcPath = "";

string aimPath = "";

string KeyWords = "";

List<string> KeyFloderList = new List<string>();

if (File.Exists(txtPath) == false)

{

Console.WriteLine("directory.txt不存在,無法獲取Copy路徑");

}

else

{

GetCopyPath(txtPath, out srcPath, out aimPath, out KeyWords);

if (srcPath == "" || aimPath == "" || KeyWords == "")

{

Console.WriteLine("請在directory.txt,輸入Copy的源文件夾,目的文件,和KeyWords");

}

else

{

DirectoryInfo FolderSource = new DirectoryInfo(srcPath);

foreach (DirectoryInfo NextFolder in FolderSource.GetDirectories())

{

if (NextFolder.FullName.Contains(KeyWords))

{

KeyFloderList.Add(NextFolder.FullName);

}

}

}

}

if (KeyFloderList.Count > 0)

{

foreach (string FloderPath in KeyFloderList)

{

//Copy From Source To Backup

CopyDirectory(FloderPath, aimPath);

}

}

}

catch (Exception ex)

{

throw ex;

}

}

//

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 (File.Exists(srcfileName))

{

File.Delete(srcfileName); //Delete Old Files

}

if (!Directory.Exists(desfolderdir))

{

Directory.CreateDirectory(desfolderdir);

}

File.Copy(file, srcfileName);

}

}

}

//取得路徑

public static void GetCopyPath(string strTxt, out string From, out string To, out string keyWords)

{

try

{

string[] stringLines = File.ReadAllLines(strTxt, Encoding.Default);

if (stringLines.Length >= 3)

{

From = stringLines[0].ToString();

To = stringLines[1].ToString();

keyWords = stringLines[2].ToString();

}

else

{

From = "";

To = "";

keyWords = "";

Console.WriteLine("請在directory.txt,輸入Copy的源文件夾,目的文件,和KeyWords");

}

}

catch (Exception ex)

{

throw ex;

}

}

}

}

【c#使用file.copy实现文件备份示例】相关文章:

c# 调用.bat文件的实现代码

c#使用linq技术创建xml文件的小例子

C# WORD操作实现代码

C# TrieTree介绍及实现方法

C# 语音功能的实现方法

.NET创建、删除、复制文件夹及其子文件的实例方法

c#中使用自动属性减少代码输入量

C# 获取程序集版本、文件版本

c#启动EXE文件的方法实例

使用C#实现在屏幕上画图效果的代码实例

精品推荐
分类导航