2013-01-17 135 views
3

是否有任何工具可以比較同一個命名文件的兩個目錄(使用不同的子目錄)?比較同一個文件的兩個不同的目錄

例如, DirA有子目錄DirA1,DirA1有一個名爲file.cpp的文件。

DirB有file.cpp。

Dira-> DirA1-> file.cpp和DirB-> file.cpp。

因此,iF我比較這兩個目錄與​​BC,BC不會比較這兩個文件。它會將它們標記爲雙方的孤兒。

我們可以寫任何BC腳本來比較這兩個文件嗎?

PS:我可以在兩個文件夾中有10-100個文件進行比較。關鍵是如何使比較工具查找匹配的文件名,而不考慮目錄級別。

我希望我的問題在這裏有意義。

回答

4

Beyond Compare 3在查看菜單中的選項(忽略的文件夾結構),你想要做什麼。它遍歷每個文件的所有子文件夾,並將它們顯示在一個單獨的級別中,並根據名稱對齊文件。如果碰巧存在多個具有相同名稱的文件,則會優先使用相同的目錄結構進行對齊。

+0

謝謝克雷格...我有BC2,剛剛安裝了BC3並進行了檢查。它按照要求工作。 Winmerge或任何其他Opensource軟件包是否支持此功能? – Bolt

+1

@Bolt BC3是我所知道的唯一一個支持它的公司,但是我認真評估了我們的競爭對手已經有一段時間了。我剛剛瀏覽了Windows上可用的開源代碼,但都沒有。 –

+0

BC可讓您下載內存持續30天的全功能試用版http://www.scootersoftware.com/download.php –

2

短編寫腳本的,這裏的快速和骯髒的方式來實現這一目標:

  1. 創建兩個臨時目錄 - FlatAFlatB
  2. 郵編既原始目錄DirADirB到單獨的zip文件 - ArchiveA.zip和​​
  3. 解壓這兩個歸檔到FlatAFlatB分別沒有路徑
  4. 使用BeyondCompare比較「扁平化」的文件夾FlatAFlatB
+0

如果在不同的子文件夾中有同名的文件會怎麼樣? – NeonGlow

+0

@NeonGlow他特別想在兩個目錄中比較具有相同名稱的文件的內容,而不管它們的嵌套層次如何,所以它聽起來像一面的相同名稱不是這個任務的關注點 - 這就是這個問題的關鍵。 在我建議的解決方案中,任何提取工具(如WinZip)都會提示是否覆蓋,跳過或可能重命名具有相同名稱的文件(當親屬路徑被刪除時)。 – Cozzamara

+0

我不明白如何歸檔wud幫助。我想我的問題不清楚。我想要一個工具來比較一個特定的文件,而不管它的父目錄名.Dira-> DirA1-> file.cpp和DirB-> file.cpp。因此,如果我比較DirA和DirB,file.cpp不應該作爲方向B中的孤兒出現,那麼該工具應該嘗試比較DirA/DirA1的file.cpp中的file.cpp(DirB的)。可能嗎 ? – Bolt

相關問題