.NET實現(xiàn)簡易的文件增量備份程序
.Net中提供了許多方便使用的方法,包括在處理文件中查找文件、拷貝文件等,今天實現(xiàn)的是通過簡易的程序?qū)崿F(xiàn)增量的備份文件。
首先需要的是選擇備份源文件路徑SourcePath和備份目標文件路徑DestinationPath,然后通過StopWatch統(tǒng)計拷貝所耗費的時間。(注意:使用StopWatch需要添加 using System.Diagnostics命名空間,對文件的讀寫需要添加 using System.IO命名空間)。
/// <summary> /// 增量備份函數(shù)方法 /// </summary> /// <param name="SourcePath">備份源文件路徑</param> /// <param name="DestinationPath">備份目標文件路徑</param> public void CopyDirectory(String SourcePath, String DestinationPath){ Stopwatch watch = new Stopwatch(); watch.Start(); //開始計算時間 // 檢查目標目錄是否以目錄分割字符結(jié)束如果不是則添加 if (DestinationPath[DestinationPath.Length - 1] != Path.DirectorySeparatorChar) { DestinationPath += Path.DirectorySeparatorChar; } //判斷目標目錄是否存在如果不存在則新建 if (!Directory.Exists( DestinationPath)) { Directory.CreateDirectory(DestinationPath); } // 得到源目錄的文件列表,該里面是包含文件以及目錄路徑的一個數(shù)組 string[] fileList = Directory.GetFileSystemEntries(SourcePath); // 遍歷所有的文件和目錄 foreach (string SourceFilename in fileList) { string filename = Path.GetFileName(SourceFilename); //先判斷文件在目標文件夾中是否存在 if (File.Exists(DestinationPath + filename)) { FileInfo oldFile = new FileInfo(SourceFilename); FileInfo newFile = new FileInfo(DestinationPath + filename); if (oldFile.LastWriteTime == newFile.LastWriteTime) { continue; //跳出本次循環(huán) } } else { // 先當(dāng)作目錄處理如果存在這個目錄就遞歸Copy該目錄下面的文件 if (Directory.Exists(SourceFilename)) { CopyDirectory(SourceFilename, DestinationPath + filename); }// 否則直接Copy文件 else { File.Copy(SourceFilename, DestinationPath + filename, true); } } } watch.Stop(); //時間停止 MessageBox.Show("備份完成 耗時"+watch.Elapsed+""); //顯示所消耗的時間 }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET 2.0服務(wù)器控件開發(fā)之復(fù)雜屬性
ASP.NET 2.0服務(wù)器控件開發(fā)之復(fù)雜屬性...2006-09-09Asp.Net網(wǎng)站優(yōu)化系列之?dāng)?shù)據(jù)庫的優(yōu)化措施與索引優(yōu)化方法
索引的作用就類似于書的目錄,書的目錄會按照章節(jié)的順序排列,會指想某一張的位置。這樣如果在一本數(shù)百頁的書里面查找某個章節(jié)位置的時候,我們就可以只掃描書的目錄,掃描的范圍縮小了n倍,查詢的效率自然就提高了。2010-06-06驗證用戶必選CheckBox控件與自定義驗證javascript代碼
CheckBox控件,由于它的值是選擇與非選擇。因此在提交數(shù)據(jù)時,想讓用戶必須選擇CheckBox,普通情況之下,不好做驗證;但我們可以使用asp:CustomValidator來驗證,不過還得寫自定義驗證Javascript代碼2013-01-01ASP.NET中實現(xiàn)Form表單字段值自動填充到操作模型中
這篇文章主要介紹了ASP.NET中實現(xiàn)Form表單字段值自動填充到操作模型中,本文模仿MVC模式中的自動映射表單了模型,使用泛型和反射實現(xiàn),需要的朋友可以參考下2015-06-06ASP.NET Core Api網(wǎng)關(guān)Ocelot的使用初探
這篇文章主要介紹了ASP.NET Core Api網(wǎng)關(guān)Ocelot的使用初探,幫助大家更好的理解和學(xué)習(xí)使用.NET技術(shù),感興趣的朋友可以了解下2021-03-03