2009-10-07 56 views
0

什麼是最好的腳本方式刪除(附近)基於Windows中的文件(本例中的XP)的文件重複的文件?我正在考慮RegEX和一些VB腳本,但是如果有更好的方法...刪除(附近)重複文件

示例包括名稱不同的文件名,這些文件名在末尾有一個或兩個(已知)額外字符或開始但名稱相同大小,文件的大小略有不同..等

是正則表達式處理這些差異的最佳方式,如果邊界是已知的。

回答

2

不,我不認爲正則表達式在這裏是正確的工具。如果你問我,這聽起來有點危險。 無論如何,你可以計算兩個文件名之間的Levenshtein distance,如果足夠小(小心文件名只包含幾個字符!),刪除其中一個。

尺寸可以使用簡單的算術來完成。

+0

我同意關於正則表達式的危險性(容易超匹配)。如果像角色交換/替換這樣的事情可以,Levenshtein可能就是你要找的東西。如果前綴/後綴是你所期望的,但是,最好只檢查一下。 – Cascabel 2009-10-07 15:30:54

+0

此方法是否可用於所有相關文件屬性以產生總體可量化指標,還是使用RegEx並根據相同大小的任意尺度(使用重要性乘數進行加權)指定單獨指標,然後將它們相加? – MaSuGaNa 2009-10-07 15:35:12

+0

@Jefromi - 不僅前綴/後綴不幸或我會使用簡單的字符串操作(左/右/中)等。 – MaSuGaNa 2009-10-07 15:36:47

0

您可以使用正則表達式匹配(或接近匹配)文件名。

我會使用正則表達式來匹配名稱,並建立一個文件大小列表。您可以根據落在該差異範圍內的文件大小計算差異。

生成匹配文件列表後,您可以訪問不同的文件屬性(大小,日期等)來標記要刪除的文件。