2008-10-05 32 views
7

我有一個簡單的現實生活問題,我想用OO方法解決。 我的硬盤很混亂。我有1.500.000個文件,重複,完整的重複文件夾,等等......使用多個標準對物品進行分組的最佳通用策略

第一步,當然是解析所有的文件到我的數據庫。到目前爲止沒有問題,現在我得到了很多很好的條目,這是「自然分組」。可以用簡單的查詢等來獲得這個簡單的分組例子:

  1. 給我的所有文件大於100MB大
  2. 顯示所有文件年長超過3天
  3. 獲取我的docx結尾的所有文件

但現在假設我想找到一些更具自然意義的羣體。這有不同的策略,取決於「用例」。

假設我有一個壞習慣,首先將所有下載的文件放在桌面上。然後我將它們解壓縮到適當的文件夾,而不是始終刪除ZIP文件。我將它們移動到「閣樓」文件夾中。對於系統來說,要找到這組文件時間導向搜索的方法,可能結合「檢查ZIP是否相同,然後文件夾X」將是合適的。

假設複製文件,有一些文件夾,其中「乾淨文件」都位於好的結構的另外一種壞習慣,而另一個雜亂的文件夾。現在我的乾淨的文件夾有20個圖片庫,我的雜亂的文件夾有5個重複和1個新的畫廊。一個用戶可以很容易地通過看到「哦,這些都是重複的,這是一個新的,所以我把新的一個放在乾淨的文件夾中,並且垃圾所有重複」來識別這個邏輯。

所以,現在進入正題:

的策略或模式的組合,你會使用哪一種解決這種情況。如果我連鎖過濾器「最難」會贏,我不知道如何讓系統「測試」適當的組合。它對我來說似乎不僅僅是過濾。它通過結合多個標準來查找「最佳」組的動態分組。

一個非常粗略的方法是這樣的:

  1. 在開始的時候,所有的文件都是平等的
  2. 第一,不那麼「好」組是目錄
  3. 如果你是一個大的,乾淨的目錄,你賺取積分(均勻分佈名稱)
  4. 如果所有文件具有相同的創建日期,您可能會「自動創建」
  5. 如果您是Program-Files的子項目,我不在乎您全部爲
  6. 如果我招你,A組爲C組,這將提高「熵」

什麼是最好的方式擬合這種情況。策略,過濾器和管道,「分組」..歡迎任何評論!

編輯在reacation到答案:

的標記方法: 當然,標籤越過我的腦海。但我在哪裏畫線。我可以創建不同的標籤類型,如InDirTag,CreatedOnDayXTag,TopicZTag,AuthorPTag。這些標籤可以構造成一個分層次的,但如何分組的問題將保持。但我會給這個想法,並在這裏添加我的見解。

拖延評論: 是的,聽起來是這樣的。但這些文件只是我能想到的最簡單的例子(而且目前最相關)。它實際上是以動態方式對相關數據進行分組的大圖。也許我應該保持它更抽象,強調這一點:我不搜索文件標記工具或搜索引擎,,但算法或模式來解決這個問題......(或更好的,想法像標籤)

克里斯

回答

2

我沒有一個解決方案(並希望能看到一個),但我可能會建議從文件中提取元數據除了明顯的名稱,大小和時間戳。

  • 帶元數據,如MP3 ID3標籤,版本信息的EXE/DLL文件,HTML標題和關鍵字,Office文檔等,即使圖像文件的摘要信息可以有有趣的元數據。整個內容的散列有助於查找重複內容。
  • 帶外元數據,如可以存儲在NTFS備用數據流 - 例如,您可以在非Office文件的「摘要」選項卡中編輯的內容
  • 如果您可以閱讀,則瀏覽器會保存關於您從哪裏下載文件的信息(儘管Opera不會長期保存)。
5

你是procrastinating。停下來,清理你的爛攤子。如果它真大,我推薦以下策略:

  1. 讓外部磁盤(USB或其他)
  2. 上的所有的東西你的驅動器上的副本做一個乾淨的系統
  3. 由於安裝一旦你發現你需要的東西,從你的副本得到它,並將其放置在一個明確的位置
  4. 6個月後,扔掉你的外部驅動器。那裏的任何東西都不是那麼重要。

您還可以安裝谷歌桌面,它不會清理你的垃圾,但至少可以讓你有效地搜索它。

如果您想要防止這種情況在將來發生,您必須更改您在計算機上組織事物的方式。

希望這會有所幫助。

+0

感謝媽媽;)開玩笑 - 強硬的愛也是一件好事! – 2008-10-05 13:46:43

1

你發燒了,唯一的處方是標籤雲!您仍然需要清理一些東西,但使用TaggCloudTag2Find等工具,您可以通過元數據來組織文件,而不是驅動器上的位置。Tag2Find將會觀看一個共享,當任何東西被保存到共享中時,一個彈出窗口出現,並要求您標記文件。

你也應該得到Google桌面。