zoukankan      html  css  js  c++  java
  • c# 递归获取所有目录,所有文件,并替换文件

    //获取所有文件
    private
    static void GetFileList(DirectoryInfo dir, List<FileInfo> fileList) { fileList.AddRange(dir.GetFiles()); foreach (DirectoryInfo directory in dir.GetDirectories()) GetFileList(directory, fileList); }
    //获取所有目录
    private static void GetDirList(DirectoryInfo dir, List<DirectoryInfo> dirList) { dirList.AddRange(dir.GetDirectories()); foreach (DirectoryInfo directory in dir.GetDirectories()) GetDirList(directory, dirList); } public static void CopyDireToDire(string sourceDire, string destDire, string backupsDire) { if (!Directory.Exists(destDire)) { Directory.CreateDirectory(destDire); } if (!Directory.Exists(backupsDire)) { Directory.CreateDirectory(backupsDire); } DirectoryInfo sourceDireInfo = new DirectoryInfo(sourceDire); List<FileInfo> fileList = new List<FileInfo>(); GetFileList(sourceDireInfo, fileList); List<DirectoryInfo> dirList = new List<DirectoryInfo>(); GetDirList(sourceDireInfo, dirList);
    //新增不存在目录
    foreach (DirectoryInfo dir in dirList) { string m = dir.FullName; string n = m.Replace(sourceDire, destDire); if (!Directory.Exists(n)) { Directory.CreateDirectory(n); } string o = m.Replace(sourceDire, backupsDire); if (!Directory.Exists(o)) { Directory.CreateDirectory(o); } }
    //替换文件,并备份
    foreach (FileInfo fileInfo in fileList) { string sourceFile = fileInfo.FullName; string destFile = sourceFile.Replace(sourceDire, destDire); if (File.Exists(destFile)) { string backFile = destFile.Replace(destDire, backupsDire); File.Copy(destFile, backFile, true); } File.Copy(sourceFile, destFile, true); } }

    部分参考其他的,

  • 相关阅读:
    MATLAB中的灰狼优化算法
    关于excel的一个问题的解决--(但是还是没弄清楚解决的原理)
    Windows上面遇到一个问题一直没有解决,求大佬指教
    Visio实用快捷键+比较不错的总结
    通过命令符查看笔记本电脑的电池损耗
    使用小工具QuickLook的使用
    科研工具--HistCite
    win10 效率
    office 2016文件已损坏,无法打开
    关于mathtype的使用方法的一些总结
  • 原文地址:https://www.cnblogs.com/huanyun/p/14101724.html
Copyright © 2011-2022 走看看