• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            歲月流轉,往昔空明

            C++博客 首頁 新隨筆 聯系 聚合 管理
              118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks
            這個工具源自于我的一個需求,
            我將文檔都保存在了硬盤上,只不過由于分布不夠大而只能分開放置于多個文件夾中。
            有時候我需要將這些數據進行備份,一張盤也放不下,也就需要備份到多張盤中。

            此時問題出現了,如果我往硬盤上新添了一些文檔,在我下一次備份的時,我如何準確的篩選出新增的文檔。

            一般來講如果只是一個源盤和一個目標盤,用Beyond Compare或者類似的工具就能解決問題。
            不過現在是多對多的,問題就變得比較復雜。

            因此我就做了這么個東西,可以將多個目錄組成虛擬的文件樹再進行比較。
            文件夾的對應關系直接利用同級文件夾的名稱來判斷
            我也提供了手工設置文件夾對應關系的功能,不過因為UI方面還沒考慮好所以沒有加上。

            文件之間的比較利用兩種方案,一種方案在文件被計算過MD5效驗的時候直接使用MD5比較
            如果沒有MD5的話使用文件大小和最后修改時間比較
            由于文件比較不使用文件名,也就獲得不了對應關系,因此目錄樹下面的所有文件的所有組合都要一一遍歷。
            同時由于計算MD5效驗碼需要讀取整個文件,時間較長,因此Checksum是需要手動計算和刷新的。

            最后就是樹可以整棵的被保存到快照文件中,格式是XML的格式,人也可以讀。
            比較過后,可以某個子樹或者單棵整樹的相同文件或這新增文件拷貝到一個目錄下。
            本來希望能直接生成Nero的刻錄清單的文件格式,后來找不到相關的資料就只好放棄了。

            Download Source Code Project,VS2005 / VS2005 SP1, XP SP2/SP3下通過。



            屏幕快照。紅色表示新增文件,藍色表示相同文件,黃色表示不完全對應。

            posted on 2008-11-06 23:48 空明流轉 閱讀(2885) 評論(8)  編輯 收藏 引用

            評論

            # re: 文件夾比較備份工具 2008-11-07 08:37 ronliu
            直接比較文件名和修改時間?
            就像版本管理工具,比如vss那樣。  回復  更多評論
              

            # re: 文件夾比較備份工具 2008-11-07 09:11 天涯明月刀
            還是beyond compare好用  回復  更多評論
              

            # re: 文件夾比較備份工具 2008-11-07 09:14 飯中淹
            博主的意思是不比較文件名,直接用md5互相比較,找出某一方沒有,而另一方有的md5。這樣就算修改了名字也不會有問題。

            不過有一個問題需要考慮,如何避免垃圾文件,比如一方修改了名字也修改了內容的。這樣同樣意義的文件就出現了兩個。


              回復  更多評論
              

            # re: 文件夾比較備份工具 2008-11-07 10:10 ronliu
            計算md5時間復雜度如何?  回復  更多評論
              

            # re: 文件夾比較備份工具 2008-11-07 11:06 空明流轉
            @天涯明月刀
            Beyond Compare不能將多個文件夾合并到一起當作一個虛擬文件夾來處理.
            這個才是我寫這個工具的根本目的.
            ps,我是不用文件名的.
            對于備份的情況而言,改個名字實在太稀松平常了.
              回復  更多評論
              

            # re: 文件夾比較備份工具 2008-11-09 23:20 myy
            這是我個人業余寫的文件夾比較工具(下載包含delphi源碼):
            http://www.ccrun.com/view.asp?id=478

            設計思路與樓主類似,可以看看。  回復  更多評論
              

            # re: 文件夾比較備份工具 2008-11-30 21:20 tarchen
            也想做這樣的工具,就像你提到的一樣,現在從網上下載了很多資料/軟件等等,經常備份,也不知道,重復備份了嗎?備份了多少次?有時間想整理時,如果一個目錄一個目錄的手工比較,費時費勁不說,最重要的是不要出錯遺漏。所以很早就有想法自己做一個這樣的軟件,但是限于水平和時間,一直沒有做好。
            今天看到你的軟件很是高興。  回復  更多評論
              

            # re: 文件夾比較備份工具 2008-12-12 22:02 xoyojank
            Total Commander可以做到  回復  更多評論
              

            久久久青草青青亚洲国产免观| 久久久久久A亚洲欧洲AV冫 | 99久久精品无码一区二区毛片 | 精品久久久久久国产| 青青国产成人久久91网| 老司机午夜网站国内精品久久久久久久久 | 久久亚洲国产精品一区二区| 青青久久精品国产免费看 | 久久福利资源国产精品999| 亚洲中文字幕久久精品无码APP | 久久AV高清无码| 久久国产免费直播| 蜜臀久久99精品久久久久久小说 | 99久久精品国产高清一区二区| 国产成人AV综合久久| 久久久亚洲欧洲日产国码二区| 久久久精品国产亚洲成人满18免费网站 | 国产精品一久久香蕉国产线看观看| 久久精品免费大片国产大片| 久久发布国产伦子伦精品| 香蕉久久夜色精品国产2020 | 伊人久久大香线焦综合四虎| 久久久久av无码免费网| 亚洲国产高清精品线久久 | 欧美久久精品一级c片片| 潮喷大喷水系列无码久久精品| 久久99久久99精品免视看动漫| 热RE99久久精品国产66热| 国产精品午夜久久| 精品无码久久久久久国产| 久久精品国产影库免费看| 九九久久99综合一区二区| 狠狠狠色丁香婷婷综合久久五月 | 国产精品午夜久久| 久久精品国产亚洲精品| 精品欧美一区二区三区久久久| 久久精品国产亚洲沈樵| 亚洲乱亚洲乱淫久久| 久久WWW免费人成—看片| 久久精品国产精品亚洲人人 | 亚洲欧美精品一区久久中文字幕|