分類
❄網站新玩意 (New Stuffs) 軟體平台/工具 雜記

將桌機版 CDIndex 光碟索引大師轉為雲端版 Google 試算表筆記

從十多年前,開始使用桌面版的《CDIndex 光碟索引大師》軟體,來為燒錄的備份CD光碟片建立光碟索引,方便爾後,客戶來電通知需要重印時,可在 CDIndex 裡輸入客戶/訂單等資訊,搜尋他的備份檔案就可以印刷。可惜,這款軟體工具作者已宣佈不再更新多年,而且隨著光碟索引的大量資料累積,搜尋速度也逐漸變慢了,必須分割為新/舊兩個區間來加快查詢的速度。

光碟索引大師 CDIndex 2.3.2

最近透過 Google Gemini AI 幫忙和 Google 試算表,終於將 CDIndex 資料轉換到 Google 雲端成為「雲端版」的光碟索引大師。線上版的好處是,不再需要安裝與設定桌面版工具,而且是雲端運算,不必每台電腦更新,也不因電腦配備影響查詢速度。於此記上筆記作為工作備忘錄

首先,透過 Gemini AI 解譯 CDIndex 的 .IDX (索引名稱檔) & .FILE (檔案屬性檔),將現有資料遷移至 Google Sheets。

索引名稱檔:儲存的是可讀性的目錄名稱與檔案名稱。使用縮排(Tab 或空白)來表示資料夾的層級深度。

檔案屬性檔格式:[類型][大小].[時間戳記]

  • 類型D 代表 Directory(目錄),F 代表 File(檔案)。
  • 大小:點(.)之前的數字。若是檔案,通常是 Byte (位元組);若是目錄,通常為 0 或該層級的大小總計。
  • 時間戳記:點(.)之後的數字。這是標準的 Unix Timestamp (Epoch Time)

經過幾次測試與評估後,請 Gemini AI 寫 Python 將所有光碟索引轉換為 Unicode Text 格式,並採用 UTF-16 LE 編碼以便涵蓋所有中文字。起初是先在 Office Excel 處理好後上傳至 Google 雲端,再轉為 Google 試算表使用。但是有時候會發生轉換錯誤問題,改採用後面的方式處理才解決。

改採用從 Google 試算表直接「檔案 > 匯入 > 上傳」於 Master 工作表,不但快速、方便,又容易偵測問題。見上圖,Master 工作表分為「‘光碟編號’, ‘目錄路徑’, ‘檔案清單(檔名/大小/日期)…」三個欄位,其中檔案清單欄位,包含該目錄裡面的所有檔案,以全形’|”作為分隔字元,檔案屬性的大小和時間戳記則以斜線字元分隔放在檔名之後。

備註1:Google 試算表單一儲存格上限約為「 50,000 個字元」限制,必須人工過濾不必要的資料如變動資料 (VDP)。目前 Python 會警示如果目錄裡超過 500 個檔案,須介入過濾它。
備註2:Google 試算表有「1,000 萬儲存格」的總數上限,因此不考慮每個檔案佔一個儲存格,而採取一個檔案清單包含整個目錄的檔案。

每個月新增的光碟索引資料,同樣以 Python 轉換為 Unicode Text 格式和上傳至 Google 雲端,並將最新資料插入 Master 最前面。起先是採取人工手動新增這些上傳資料,但 Gemini AI 知道有曾經使用 Google Apps Script (GAS) 開發 Coupon Wizard 外掛程式《雲端版的折價券管理軟體》經驗,居然自動生成 .gs 程式碼且強力推薦 importMonthlyCDIndex() 給我使用,可設定為每月定時自動匯入更新,AI 實在太強又好用!

接著,是在 Google 試算處理類似 CDIndex 的搜尋功能。另外新建立一個「搜尋」工作表當作 “Search” UI 的操作介面。此外,為了避免「搜尋」工作表裡面的公式被不小心修改,將整個保護工作表,除了B1搜尋儲存格外,都無法修改。

  • A1提示儲存格:【右邊輸入找啥:】
  • B1搜尋儲存格:輸入要找的資料內容
  • A2 顯示找到的結果 & 搜尋公式=FILTER(Master!A2:C, REGEXMATCH(Master!B2:B & Master!C2:C, B1))
  • A2 進階版之搜尋公式=IFERROR(FILTER(Master!A2:C, REGEXMATCH(Master!B2:B, “(?i)”&B1)), “找不到符合的檔案”)
    • (?i):Regex 的修飾符,代表不分大小寫。
    • IFERROR:當找不到任何符合項時,顯示友善提示而不是錯誤代碼。
  • C1找到的目錄個數=IF(B1=””, “”, “共找到 ” & IF(ISERROR(A2), 0, COUNTA(A2:A)) & ” 個符合的目錄”)

備註3FILTER 配合 REGEXMATCH 的底層運算效率優於傳統的 VLOOKUP 或 QUERY,能提供更流暢的查詢體驗。

轉為雲端版的 Google 試算表後,並加入保護和隱藏 Master 工作表,就大功告成,可以分享給需要的同事們。為了方便直接執行此光碟索引試算表,有下面三種快捷設定方法:

  • 存入 Chrome 書籤列
    • 步驟:在 Chrome 網址列的最右側,點擊 「☆ (將此分頁加入書籤)」 圖示
    • 名稱:「CDIndex光碟索引」
    • 資料夾:選擇「書籤列」讓它直接出現在網址列下方
    • 快捷鍵:在 Windows 上按 Ctrl + D 即可觸發
  • 建立桌面捷徑(像獨立 App 一樣開啟):
    • 在試算表頁面,點擊 Chrome 右上角的 「三個點 (⋮)」
    • 選擇 「儲存並分享」 > 「建立捷徑…」
    • 點擊「建立」即可
  • 釘選至工作列
    • 在桌面捷徑上,按滑鼠右鍵
    • 選擇「釘選到工作列

備註4:雖然光碟索引是以一般光碟的 4.5GB 容量為主,幾年前已改用藍光 50GB 光碟取代,這樣每片藍光可含十片一般光碟,方便一次燒錄、節省儲存空間。再過些年以後,應該就不必燒錄光碟(也不容易買到)了,到時候只需要建立光碟索引足矣。

分享