源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c#使用file.copy实现文件备份示例

  • 时间:2022-05-04 13:20 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c#使用file.copy实现文件备份示例
步骤: 1、遍历D盘Source文件夹找出所有名称包含LTE的文件,文件路径存放到List<string>中 2、遍历List<string>,把所有文件Copy到E盘的备份文件夹中
[u]复制代码[/u] 代码如下:
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 = @"..\..\Dir\directory.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;             }         }     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部