DirectoryOpus外掛:“照得標管理器”-海量照片分類管理好幫手!

tyysoft發表於2024-10-15

照得標管理器

前言

  名詞解釋:“照得標管理器”,即:照片得到標籤管理器,後文統一簡稱“照得標管理器”或“照得標”。
  注:請不要和抖音上的“奧德彪”、“王德發”之類聯絡,我分享的是正經片-到-籤-管理器。

  有段時間作者賦閒在家,決定把留在電腦上的幾萬張照片整理一下,嘗試過PhotoOrgnizer等免費照片整理軟體,但這些軟體只會把照片按日期進行簡單的歸類,搞搞什麼時光之類的功能,對於想根據某些關鍵資訊,比如:人名、事件、地點等來找照片卻無能為力,最後不得不把被PhotoOrgnizer打亂存放的照片又複製了出來,重新進行組織歸類, 為了給照片檔名加上關鍵資訊,方便日後查詢,嘗試寫了個DirectoryOpus(後文簡稱“DOpus”)的重新命名指令碼,但在使用過程中又發現照片整理不僅僅是重新命名, 有些照片的日期根本不對,後設資料丟失、錯誤、檔名沒有日期等各種奇怪的問題,既然為了整理照片,那這些功能也不能缺少,於是廢棄了重新命名指令碼,轉向了獨立的功能指令碼,好在DOpus確實強大,支援指令碼建立視窗,那這樣就靈活和方便多了,於是一邊整理照片一邊新增功能,終於把幾萬張照片整理完了,到現在大半年也懶得去整理新增的照片,“照得標”便一直閒置。

  本來“照得標”不會面世,主要是作者私人使用,但有一天QQ群討論了個類似“誰是最好的程式語言”的問題,群裡一堆大佬說TC(TotalCommander)才是專業的檔案管理器,我說DOpus看著外表普通,但是通吃從小白到專家的所有使用者,DOpus才是專業的,併發了一張“照得標”截圖以示DOpus擴充套件性之強,群裡幾日都安靜了,也沒有人再爭論“誰是最好的檔案管理器”,我便不再關心這事,忽然有天有人加我QQ好友,說是看到我發的截圖,又說有個DOpus的使用者群,裡面都是各種高手和指令碼小王子,要把我拉到裡面去交流,於是我便在DOpus使用者群看到了照得標的截圖,群裡有人發言對這個指令碼感興趣,希望能夠分享~

  自用的工具,一般都不會很完善, 很多配置、目錄都是寫死的,換個人用肯定是用不起來,為了不影響大家的使用感受,也為了減少一些反覆的問題諮詢,我沒有急於分享“照得標”,在分享之前還需要把之前寫死的地方最佳化,完善異常處理,功能測試、以及使用者手冊編寫,這花費了不少時日。

  由於水平有限,以及主要定位於作者自用,工具多少會有些功能不合理或者不方便,由於作者以原始碼方式分享“照得標”,您可根據自身的需求去修改原始碼及增強相關的功能,作者沒有義務為使用者做特殊的增量開發,如果是合理的通用功能,作者可以考慮但不保證在日後會進行功能升級。

免責宣告

  作者在使用“照得標”整理自己的幾萬張照片過程中,並未出現照片丟失和損壞的問題,但並不代表在您的電腦上不會出現照片丟失及損壞的問題,請在使用本指令碼前認真閱讀使用者手冊,評估影響及可接受程度,提前做好資料備份。

  1. 作者非專業開發者,“照得標”主要服務作者自用場景,受熱心網友請求才開放共享,由於能力和水平有限,程式碼難免被歸類為尿山程式碼,且很多程式碼的異常保護作者並沒有做,如果出現功能異常或者報錯,請您量力而行修改原始碼或者放棄使用,請不要因使用不順而謾罵、詆譭、攻擊作者本人,如出現這種情況,“照得標”將主動放棄分享。

  2. 如因使用本指令碼造成資料丟失或檔案損壞,作者不承擔恢復義務,因此而造成的損失作者不承擔連帶責任

更新說明

2024-10-13: 初次分享。

系統要求

  • Windows 10: 本工具基於Windows 10開發 , Win7、Win11等系統未經過驗證,不確保可以正常使用。
  • DirectoryOpus 13.5+: 明確不支援DirectoryOpus 12及之前的版本。

安裝說明

步驟1:下載附件,並解壓到本地,得到如下兩個檔案

照得標管理器.dlg
照得標管理器.vbs

dlg檔案是視窗資原始檔,vbs檔案是“照得標”的主程式。

下載地址:
c58cd475001ba92734cc0ddfd428d0ca DOpus外掛-照得標管理器.zip

🕮說明
  由於“照得標”涉及到檔案操作,茲事體大,請從本文提供的地址下載,防止被人注入惡意程式碼造成損失!因下載途徑非本文提供,造成您的檔案丟失、損壞、感染病毒等,本人不負任何責任,也不提供任何技術支援!

步驟2:在DOpus的工具欄上單擊滑鼠右鍵,在彈出的選單上選擇“自定義”,如下圖所示:

步驟3: 再次在DOpus的工具欄上單擊滑鼠右鍵,在彈出的選單上選擇“新建-> 新建按鈕”,如下圖所示:

執行完成後在工具欄上會出現新的按鈕,如下圖所示:

步驟4:在新的按鈕上單擊滑鼠右鍵,選擇選單“編輯”選單,如下圖所示:

步驟5:在彈出的“命令編輯器”視窗進行如下設定

  1. 在“標記”編輯框中輸入本工具的名稱“照得標管理器”,當然,你也可以自由發揮。
  2. 滑鼠在“快捷鍵”編輯框單擊,並按下自己喜歡的快捷鍵。
  3. 在“型別”下拉選單框中選擇“指令碼功能”。
  4. 選中“指令碼程式碼”標籤頁,將照得標管理器.vbs檔案全部內容複製到該標籤下的編輯視窗。(注意:先清空該編輯視窗)
🕮說明
使用任意文字編輯器開啟“照得標管理器.vbs”後進行復制,“照得標管理器.dlg”檔案的處理也相同。
  1. 選中“資源”標籤頁,將照得標管理器.dlg檔案全部內容複製到該標籤下的編輯視窗。(注意:先清空該編輯視窗)
  2. 單擊如圖中標註⑥處的圖示,選擇自己喜歡的圖示。(本步驟可以省略)
  3. 單擊螢幕右上方的“√”按鈕,即可完成“照得標”的安裝,如下圖所示:

    此時,單擊工具欄上新建立的按鈕,即可開啟“照得標”主視窗。
🕮說明
“照得標”的配置檔案儲存在`C:\Temp`目錄,如果目錄不存在, 工具會自動建立,請不要刪除。初次使用會提示XML配置檔案不存在,並會由工具自動建立,不需要使用者進行手工操作。

功能介紹

主功能介紹

照得標”主要分為4大功能塊:

  • 檔案重新命名: 給照片檔名加上關鍵字,比如:時間、地點、人物、事件等,方便日後查詢。PS:很抱歉沒有起因、經過、結果。

  • 檔案歸類:將檔案移動到指定的資料夾中,特別是一些生活類的截圖,比如:快遞單據、購物發票等,可以快速移動到單據或者發票資料夾。

  • 修復照片時間:由於有些照片經過網路傳遞後,本來的時間資訊錯亂了, 比如有些微信圖片,檔名就是一串數字,檔案中的修改時間也不是圖片真實的發生時間,甚至有些圖片經過網路傳遞後後設資料也丟失了,為了方便日後的管理 ,這些圖片需要重新在檔名、後設資料等中恢復真實的時間。

  • 篩選:定製的一些與當前選中檔案關聯的篩選功能,比如:篩選相同日期的圖片、篩選不包含標籤的檔案等

下文將逐一介紹具體功能。

檔案重新命名

透過單擊在安裝章節新建立的“照得標”按鈕,或按下設定的快捷鍵,即可彈出“照得標”主視窗,如下圖所示

步驟1: 在DOpus檔案視窗選中需要處理的照片檔案

選擇照片和開啟“照得標”沒有先後順序,可以一直開啟“照得標”視窗,在DOpus檔案視窗選擇不同檔案分批新增標籤。見圖中標註①。

🕮說明
“照得標”視窗顯示在頂層,但仍然可以正常在DOpus中執行操作。
步驟2:在“照得標”視窗中輸入標籤資訊

分類:照片檔名新增分類資訊,比如:工作、生活、旅遊、單據、發票等,分類可以在“設定”視窗中自行增刪。

時間:預設把形如“2022.10”格式的年月資訊新增到加到檔名,如果使用者想輸入自己的時間,可以在“設定”視窗把“使用檔案時間”核取方塊去掉,然後手工輸入。

🕮說明
  • “照得標”會檢查使用者輸入的時間和照片實際時間是否一致,如果不一致“照得標”會提醒使用者不一致,是否強行將檔名加上使用者自己輸入的時間標籤。
  • 使用者輸入的時間不一定是形如“2022.10”的年月資訊,也可以是“冬月”、“臘月”、“正月”等隨意的資訊,但“照得標”會提醒使用者這個時間和檔案時間不一致,使用者選擇強制執行則會給檔名加標籤成功。

地點:輸入照片的拍攝地點,可以自由定義,一般建議城市+具體小地方,比如:深圳.蓮花山。

🕮說明
有人可能想透過照片的“經度”和“緯度”自動填充地點,這個會涉及到使用網路API,目前沒有找到什麼好用的API,如果您有合適的API,可以嘗試自行新增經緯度換地名的功能。

人物:輸入照片的人物資訊,方便日後自己查詢,比如:大寶、二寶等。

事件: 輸入照片發生的背景,比如:春節遊黃山、暑假遊大理等。

拍攝人:預設使用照片後設資料中的相機型號資訊,您也可以自己輸入拍攝人,比如:玫瑰相館。

🕮說明
自己輸入“拍攝人”時,需要在“設定”視窗把“讀取檔案拍攝人”核取方塊去掉。
步驟3:預處理
🕮說明
本步驟不是必要操作,可以根據個人使用習慣選擇性操作,見圖中標註③。

讀取相機: 將選中檔案(選中多個只讀第1個)的相機型號資訊讀取到編輯框。

🕮說明
  • “讀取相機”不需要手工操作,“照得標”在新增標籤時會自動讀取每個檔案的相機資訊並新增到檔案標籤中。
  • 為什麼有些相機型號顯示的是“ELE-AL00”這種看不懂的資訊?這是因為有些手機給照片裡新增的就是這種型號ID,需要在網上查詢對應的手機名稱,然後在“設定”頁面進行配置。

載入檔案標籤:有些照片檔案,已經新增了標籤,但是又覺得不合適,想改一下某個欄位,從頭再輸入一遍?雖然也不多,但讓我手工輸入是不可能輸入的,一輩子也不可能。因此,這個按鈕可以把已經打標籤的檔案上的標籤重新填到編輯框,使用者只需要修改對應的欄位即可。

預覽: DOpus的檔案重新命名都有預覽功能,那“照得標”必須也要有,點了之後你可以在“照得標”的日誌視窗提前看到更名結果。

步驟4:檔案重新命名

單擊“加標籤”按鈕將,“分類”、“時間”、“地點”、“人物”、“事件”、“拍攝人”等資訊新增到選中的檔名上。

沖洗”按鈕將“沖洗”字樣新增到檔名上,這樣可以快速篩選要去沖洗的照片。

使用者標記”按鈕可以將使用者指定的標記新增到檔名上,請在按鈕旁邊的編輯框輸入自定義內容。

去沖洗”按鈕將檔名上的“沖洗”字樣刪除掉。

其他功能說明

日誌”主要顯示預覽資訊,及檔案改名結果資訊。

歷史”列表框中會記錄最近50條不重複的標籤記錄, 雙擊列表可以將相關資訊填寫到左邊的編輯框中,減少使用者手工輸入。

演示動畫
檔案更名:加標籤

檔案歸類

檔案歸類主要是對選中的照片檔案快速移動到指定的目錄,比如:使用者可以自己定義一些常用目錄用來存放“收據”、“快遞單據”等

快捷移動

快捷移動: 點選按鈕即可將選中檔案移動到按鈕對應的目錄,最大支援自定義5個快捷移動按鈕。

為什麼不全部搞成按鈕,為什麼只搞5個按鈕? 一切為了效率, 這裡的5個按鈕是最常用的目錄,用於管理生活類的圖片或截圖, 比如:快遞收據、家電說明書、銀行App截圖等, 按鈕太多了也非常難找,影響效率。

按路徑列表移動

圖中標註②所示,雙擊其中的列表項時,選中的檔案會自動移動到列表對應的目錄

路徑列表是使用者配置的常用路徑,路徑列表可能有很多條(注:上限未經過測試)。

注:只要整理的照片足夠多,就會用到很多條路徑列表。

路徑列表管理

新增”按鈕:在“名稱”編輯框輸入目錄名稱,請不要帶特殊字元,名稱的作用主要是在新增快捷移動按鈕時,可以給按鈕顯示名字。

修改”按鈕:先在路徑列表中選中要修改的項、此時“名稱”和“路徑”編輯框會自動填寫當前資料,使用者可以根據實際情況修改。

刪除”按鈕:先在路徑列表中選中要刪除的項,單擊該按鈕即可刪除相關的目錄配置。

校驗”按鈕:當使用者磁碟上的目錄被移動、刪除、改名等,造成列表中的目錄不再存在,此時可以透過“校驗”按鈕來檢查哪些目錄項已經不正確了,需要進行修改或者刪除,“校驗”按鈕執行後,列表中存在錯誤的項會透過顏色標註。

移入”按鈕:將選中的檔案,移動到路徑列表中選中項的目錄。

管理快捷按鈕

繫結”按鈕:先在路徑列表中選中想要新增到快捷按鈕的路徑,單擊“繫結”按鈕,將會在“快捷移動”欄新增一個按鈕。

解綁”按鈕:如果快捷按鈕對應的目錄不再常用,可以透過“解綁”按鈕刪除對應的按鈕,再透過“繫結”按鈕新增新的快捷按鈕。

🕮說明
  • 由於視窗空間有限,快捷移動按鈕最大隻支援5個。
  • 修改路徑時,如果路徑不存在,會彈出錯誤提示。
演示動畫
檔案歸類:路徑及按鈕配置

修復時間

  某此情況下,一些早年照片經過網路傳遞後(比如:微信、QQ),照片的原始檔名會丟失、照片後設資料(即:EXIF)也會丟失,此時照片檔案上的時間資訊只有檔案的建立時間、修改時間,而這些時間由於在儲存介質上的不斷轉移,會變得和真實照片的發生時間無法對應,即:照片發生的時間是2013年,但是現在建立時間和修改時間可能變成了2024年,在還沒有遺忘的時候,把這些照片的真實時間進行修復就變得很有必要。

  一般來說,儲存到本地的照片,時間資訊附加在“檔名”和“後設資料”兩個地方是比較可靠一點的,儘量不要依賴建立時間和修改時間來管理照片的時間資訊, 好在現在的手機拍照檔名都會把日期和時間帶上,後設資料也是完整的;相機拍照情況就會複雜一點,比如:相機經常換電池,換完電池相機的日期/時間也重置了,如果忘記重新調回來,那這相機拍的照片,時間日期資訊就不準了,要人工修復。

🕮說明
照片時間的修復,往往無法做到完全還原到真實發生時刻,有賴於照片所有者的記性,以我處理幾萬張照片的經歷,總有一小部分老照片,實在沒有線索,這時能恢復到正確的月份就不錯了,時間就看照片上的光景自己估計一個,對於完全沒有時間線索的照片,不必刻意追求時間的精確性。
時間來源

輸入框”:時間的來源為右邊“時間序列”編輯框,時間格式為yyyymmddHHMMSS
檔名”:時間來源為檔名,如:“1493528743727.jpg”、“IMG_20240301_130741.jpg”。
修改時間”:有些照片檔名沒有時間,後設資料也沒有時間,照片的修改時間看著還比較靠譜,那就用修改時間吧,這是個將就的做法,因為相對“檔名”和“後設資料”來說“修改時間”是最不靠譜的。
後設資料”:後設資料是嵌入在圖片中的資訊, 一般不容易丟失,也是準確度最高的時間來源。

🕮說明
時間來源非常重要,請一定要搞清楚哪個時間是正確的,否則,覆蓋之後再也無法找回。 當時間來源使用“輸入框”時,可能有一批次的圖片都要在檔名加時間戳,所有檔案的時間戳都和輸入框中的一樣,這樣有兩個問題:
  • 你的相機中沒有兩張照片的時間戳是一樣的,這不符合事實。
  • 在檔名規整到形如“IMG_20240301_130741.jpg”的檔案時,由於日期時間全部相同,會產生衝突。
因此,在使用“輸入框”做時間來源時,務必在“遞增”編輯框中輸入一定的時間間隔
修復操作
修復檔案建立時間

單擊“修復檔案建立時間”按鈕,即可把檔案的“建立時間”和修改時間,改為“時間來源”中的時間。
注意:既然是修復檔案的建立和修改時間,那時間來源就不能為“修改時間”,自己修改成自己沒有意義。

檔名加時間戳

有些圖片檔案,經過網路傳遞後,檔名已經不再包含時間資訊,如:小樣.jpg,而最好的檔名應該類似:“IMG_20240301_130741.jpg”,怎麼給檔名上加上時間資訊呢?
比如:有檔案1493528743727.jpg,透過看圖工具或者DOpus自帶的圖片視窗,發現圖片沒有後設資料,而檔名貌似是一串Unix時間戳,故“時間來源”嘗試設定為“檔名”,單擊“檔名加時間戳”按鈕,新的檔名變成“IMG_20170430_130543_1493528743727.jpg

🕮說明
檔名加時間戳並沒有刪除原始的檔名資訊,而是選擇在前面或者後面新增時間戳,如果在前面加時間戳,則會加IMG_字首。
  • 如果照片明明是大白天,但加的時間戳卻是晚上,那你可以填寫“偏移”量。
  • 檔名加時間戳的時間來源可以是任一來源。
修復後設資料時間

提醒:修復後設資料是高危操作,一旦操作失誤,可能後設資料就再也找不回來了!請謹慎執行該操作!

⚠️注意
  • 僅當圖片後設資料不包含時間資訊時才建議執行本操作(注:如果圖片後設資料有時間,那這個時間一般都是正確的,不需要修改)
  • 修復後設資料時間的來源不能是“後設資料”,請確保時間來源的正確性,特別是使用輸入框來源時,請確保輸入的正確性。
規整圖片名稱

單擊“規整圖片名稱”按鈕,檔名會被規範成IMG_yyyymmdd_HHMMSS.jpg的格式,比如上文中的“IMG_20170430_130543_1493528743727.jpg”將會規整成“IMG_20170430_130543.jpg”。

注:標籤資訊不會被清理掉。

篩選

  手機圖片備份到電腦時,目錄裡往往有幾千張圖片,在整理這些圖片時比較高效的做法是以“天”為單位整理,因為1天往往對應一個事件,所以,在整理第一張圖時,就希望把所有和這張圖同一天的照片過濾出來。

“篩選”功能主介面如下圖所示:

篩選同一天的圖片

選中一張照片,單擊“日期相同”按鈕,DOpus檔案管理器視窗將只顯示日期與剛才選中檔案相同的照片。

🕮說明
  • 檔案沒有刪除,這裡只是呼叫了DOpus的過濾介面,如果要恢復,只需要在DOpus視窗按F5鍵。
  • 照片的檔名必須是形如:IMG_yyyymmdd_HHMMSS,或者至少含有yyyymmdd_HHMMSS格式的資訊。

篩選“日期和時間相同”、“月份相同”的操作與篩選“日期相同”類似,這裡不再敷述。

“不包含標籤”按鈕用於過濾還沒有來得及新增標籤的檔案,這樣使用者就可以不用在一堆檔案裡找哪裡檔案還沒有加標籤。

OCR篩選

好訊息是:你沒有看錯,可以根據圖片的文字資訊進行篩選!

壞訊息是:由“照得標”逐一照片呼叫API進行文字識別,我嫌這個時間太長了,等不起!所以把這個太慢的功能做完了又刪除了!

做為補救,需要使用者動動發財的小手,使用Umi-OCR進行批次文字識別,操作過程如下圖所示,由於太簡單,這裡就不展開。

前置條件:Umi-OCR批次識別
文字過濾

  當Umi-OCR批次識別完成後,就會在圖片目錄中生成一個[OCR]_XXXXXXXXX_XXXXXXXX_XXXX.txt的檔案,“照得標”正是讀取了這個檔案才能根據文字過濾圖片。

文字過濾使用場景

  當你手機照片、截圖備份到電腦後,特別是螢幕截圖裡面會有大量的資訊,比如:銀行的支付資訊、火車票等等,你可能需要快速把這些照片分類管理,透過“照得標”的“OCR篩選”關鍵字“銀行”,即可快速把所有包含“銀行”字樣的圖片篩選出來。

設定

  主要包含檔案重新命名設定、手機型號管理、分類管理,如下圖所示:

檔案重新命名設定項

使用檔案時間”: 前文已經介紹,如果該選項選中,則在加標籤時不需要使用者輸入時間;而該選項去掉時,則使用者需要手動輸入時間,此時的時間格式可以任意設定(注:不要輸入非法字元)。

讀取檔案拍攝從”:前文已經介紹,如果選中,則加標籤時讀取照片後設資料中的手機/相機型號;而該選項去掉時,使用者可以隨意輸入拍攝人(注:不要輸入非法字元)。

時間戳在前”: 前文已經介紹,該選項影響時間修復特性,在給檔名加上時間戳時,可以選擇將時間戳放在檔案開頭或者結尾,放在開頭時,會在時間戳前面再加一個“IMG_”字首。

包含相機商名稱”:在“拍攝人”欄位讀取手機/相機型號時,是否要包含廠商的名稱,比如:Cannon, Sony等,建議不要包含了,太長了!

手機型號管理

  如果你發現“拍攝人”欄位很不爽,顯示的玩意你看不懂,那你在網上查一下,把相關的ID和名稱的對映在這新增一下。

  “增加”、“修改”、“刪除”就不介紹了。

  “過濾”功能: 如果在“ID”編輯框輸入關鍵字,就按ID過濾, 如果在“名稱”編輯框輸入關鍵字,就按名稱過濾,如果都輸入了,還是按ID過濾。

  “匯入”: 如果手機/相機的對映資訊儲存在文字檔案中,則可以透過“匯入”的方式批次新增記錄。

🕮說明
  • 手機/相機型號檔案必須是文字,且文字檔案的編碼必須是GB2312,否則匯入的中文都會是亂碼!
分類管理

  分類管理主要是增、刪、改,有對應的按鈕,並且修改後在首頁選擇分類時會立即生效。

已知問題

問題1:主視窗單擊標題欄上的“X”按鈕無法關閉視窗。

答疑
從標題欄叉掉無法進入到退出事件,導致無法自動儲存已經修改的配置,所以標題欄的叉叉功能被遮蔽掉了,可能會有使用者質疑,既然叉叉不能用了,為什麼不把叉叉給隱藏掉呢?還讓使用者看得見,然後去點,不是多此一舉嗎? OK,不是作者不想隱藏掉, 是沒有找到介面隱藏叉叉。

替代方案
單擊視窗右下角的“退出”按鈕。

補充

  “照得標”好像也可以管理影片檔案、音訊檔案,使用者可以自行嘗試,嘗試前請記得先備份,功能熟悉了再開始整活。


文件作者宣告:本文件僅用於學習交流,未經作者許可,不得將本文件用於其他目的。
Copyright © 2022~2024 All rights reserved.

相關文章