解決 Calibre Portable 啟動時,提示路徑過長錯誤

在 Windows 裡長久以來的習慣是如果某一軟體有官方的可攜式版本(Protable)、綠色版或免安裝版,我通常會優先使用這些版本。

我有閱讀電子書的習慣,通常我都會用 calibre 管理我的電子書,官方也提供了一個可攜式版本。但使用可攜式版時,在啟動時,可能會出現類似這樣的錯誤訊息:

Path to Calibre Portable (C:\Users\John\Documents\Portable Software\Calibre Portable\) too long. Must be less than 59 characters.

簡單來說,就是 calibre 的完整路徑過長,而無法啟動。雖然路徑過長的確可能會造成一些問題,但只允許 59 個字元,也似乎短了點。

就 calibre 的可攜式版來講,這個限制或者說這個路徑長度檢查,是在 calibre-portable.exe 這程式裡1,因為如果到可攜式版的子目錄 calibre 執行 calibre.exe,會發現其實不會出現任何錯誤。

而作者會做這樣的限制,主要和可攜式版裡的 Calibre Library 這資料夾有關,它是用來存放著書籍資料,一般情況可能不會因為路徑過長而發生問題,但若哪天我們的書名或者是作者名字的長度夠長時,那麼就可能會發生問題。

解決的方法,其實是很簡單,就是想辦法把路徑變短。例如:把 calibre 可攜式版的資料夾,搬到其他地方,甚至是讓它變成像是 C:\calibre portable\ 或是 D:\calibre\ 這樣的情況。

所以……打完收工(?!),直接搬移的確可以解決問題。但我自己會把可攜式版的軟體,放在固定的資料夾裡,一來管理方便,二來也容易找到我要的軟體。如果為了 calibre 的路徑長度問題,而把它搬到其他地方,似乎又會造成另外的管理問題。

如果要達到兩全齊美的解決方案,我腦子中瞬間蹦出 subst 這個很有歷史的 DOS 指令,它主要用途是可以把某一個資料夾映射成某一個磁碟機,在某種程度上,是可以用來模擬磁碟機或者用來建立虛擬磁碟之用。

在以前,我還蠻常用這個指令來模擬 A 槽或 B 槽。如果我們有一個資料夾它被放得很深,用這個指令也可以拿來當成一個快速的進入點。

開始使用 subst

顯示已有的映射

subst

如果不加任何的參數,會顯示出目前的已有的映射清單,例如下面結果就是我把一資料夾映射到 P:

P:\: => C:\Users\John\Documents\Portable Software

建立映射

subst X: "D:\your\folder\path\"

要建立映射,只要提供兩個參數

  • X:,第一個參數是指要模擬的磁碟機代號。如果,我想要模擬一個 N: 的磁碟機,我就用 N:
  • "D:\your\folder\path",指的是我們資料夾的完整路徑,我建議是養成用雙引號包圍住路徑的習慣,可以避免掉因為有空白字元,而導致路徑被截斷的問題。

刪除映射

subst X: /D
subst /D X:

雖然保留著映射,在實質上不會造成什麼影響,但總是會有刪除的一天。透過 /D 這個參數用來宣告我們要刪除映射,擺放位置不拘,在我們映射出來的磁碟機代號前面或後面都可以。

如果不小心指定了真實存在的磁碟機代號,例如:C:,也不會發生什麼事,頂多就出現像是無效的參數,這樣的錯誤訊息,在實質上不會對我們的 C: 有什麼危害。如果仍然有所顧慮,那就在刪除之前,再確認一下目前系統上實際的映射代號有哪些。

參考資料與其他備註

  1. calibre 作者的說明
    https://www.mobileread.com/forums/showthread.php?t=331917#2 []

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Google reCAPTCHA 保護機制,這項服務遵循 Google 隱私權政策服務條款