檔案捷徑
此條目翻譯自其他語言維基百科,需要相關領域的編者協助校對翻譯。 |
在電腦領域,捷徑是一種使用者介面中的控制代碼,它允許使用者找到或使用位於另一個目錄或資料夾的一個檔案或資源。
捷徑通常被實現為一個包含目標URI或GUID的小檔案,以此指向一個對象或捷徑所代表的目標程式檔案。捷徑還可能額外指定命令列參數,從而在執行它時將所定參數傳遞到目標程式。每個捷徑都有其自身的圖示。捷徑最常見的地方就是桌面,以及應用啟動面板(例如Microsoft Windows開始選單)或桌面環境的主選單。在麥金塔(Macintosh)作業系統中等效的功能被稱為「別名」,在類UNIX系統中則有符號連結可用。
實現
Microsoft Windows
檔案捷徑是在Windows 95中被引入。[1]Microsoft Windows使用.lnk作為本地檔案捷徑的副檔名,使用.URL作為遠端檔案(例如遠端網頁)捷徑的副檔名。預設情況下,一個箭頭會覆蓋圖示以標識性質,並且捷徑不顯示副檔名(副檔名在Windows檔案總管中會始終隱藏,即便在「檔案類型」選項中取消選中「隱藏已知檔案類型的副檔名」也不會顯示。它由NeverShowExt選項控制,位於登錄檔的 HKEY_CLASSES_ROOT\lnkfile。IsShortcut選項則控制顯示箭頭)。捷徑檔案可以以最小化或最大化的窗口狀態啟動程式,只要那個程式支援該窗口狀態。
Microsoft Windows的.lnk檔案是作為Windows Explorer的擴充,而不是檔案系統的擴充。作為外殼擴充,.lnk檔案不能用在Windows Explorer以外的地方指向檔案,並且在Windows Explorer中使用時有其他用途來指向一個本地檔案(或GUID)[需要解釋]。
雖然捷徑被建立時指向了特定檔案或資料夾,但如果目標被移動到其他位置,捷徑會因此損壞。當打開一個目標不存在的捷徑時,Explorer將嘗試修復該捷徑。Windows 9x的Windows用一個簡單的搜尋演算法來修復損壞的捷徑。[1]在以Windows NT為基礎的作業系統且NTFS的檔案系統中,目標對象的唯一識別碼會儲存在捷徑中,並且Windows可以使用「Distributed Link Tracking」服務跟蹤捷徑的目標,因此在捷徑的目標被移動到另一個驅動器時,捷徑的目標可以被靜默更新。[2]Windows 2000中引入的Windows Installer帶來了另一種特殊類型的捷徑,被稱為Advertised shortcuts。
Windows中的檔案捷徑可以儲存一個不同於目標路徑的工作目錄,其中可以使用環境變數。在捷徑的屬性中還可定義一個快速鍵,但生效前提是捷徑位於開始選單資料夾、工作列固定的圖示,或者放在桌面。從Windows 2000起,檔案捷徑可以儲存備註,備註將在滑鼠懸停在該捷徑上時顯示。
一般來說,雙擊捷徑的效果與雙擊所指向的應用程式或文件的效果相同,但Windows的捷徑包含獨立的目標和「起始」目錄。如果使用未輸入「起始目錄」的捷徑,某些應用程式可能會產生「缺少DLL」錯誤。[3]
在Windows Vista及更高的系統中可建立檔案系統連結,這提供類似符號連結的功能,但它是檔案系統的一個特性。Windows的捷徑是獨立於檔案系統的檔案,通過Explorer生效。[4]
從Windows 7開始,一些捷徑還儲存「應用程式使用者模型ID」(AppUserModelID)。[5]不同於目標命令列,AppUserModelIDs可以用來直接啟動應用程式。AppUserModelID被某些桌面程式和所有WinRT模型的應用程式用於啟動。
儘管Windows未提供方便的工具來建立,但Explorer支援「資料夾連結」和「外殼連結資料夾」:一個設為「系統」屬性的資料夾,包含隱藏的「desktop.ini」(資料夾客製化)檔案,告知Explorer尋找同目錄下的「target.lnk」檔案,它指向另一個資料夾。當在Explorer中檢視時,外殼連結資料夾會呈現目的檔夾的內容——也就是說,客製化後的資料夾變成了一個捷徑。[6]此技術被微軟Windows用於如WebDAV資料夾的專案。不過,Windows Vista及更高版本中提供的「檔案系統連結」使「外殼連結資料夾」不再那麼實用。
Unix
某些面向類Unix作業系統的桌面環境(如GNOME、KDE)提供freedesktop.org .desktop[7]檔案。這可以用來指向本地或遠端檔案、資料夾和應用程式。在Unix系統上也可以建立符號連結,能做到類似的功能。
支援桌面捷徑的X視窗管理員的列表
下面是部分支援在桌面上使用捷徑圖示的視窗管理員:
Mac
雖然在Unix子系統中可以建立符號連結,麥金塔(Macintosh)沒有對捷徑的擴充。副檔名.webloc被用於Safari瀏覽器中的網際網路URL。Macintosh System 7至Mac OS 9中的「別名」採用使用斜體檔名標識以區分。在Mac OS 8及之後的版本中則添加了一個稱為「別名箭頭」的標識,它是一個在白色小正方形上的黑色箭頭,類似Microsoft Windows中的捷徑。在Mac OS X中,別名的檔名不會被斜體,但仍有箭頭標識。此外,別名會保留到對象的動態參照,並且即使在遠端伺服器上呼叫檔案時也不需要指定別名[需要解釋]。
歷史
要在早期的圖形化使用者介面中執行一個應用程式或呈現一個電腦檔案,使用者必須點擊點擊檔案的實際所在位置,例如應用程式的可執行檔。將執行一個與可執行檔相關聯的指令的圖示與該檔案本身分離的概念使得圖示可以按照功能或任務而不是檔案存放的物理結構來分組。這種概念最早在1991年金士頓大學出版的研究論文「窗口化圖形化使用者介面的面向任務前端」中描述,並在同年根據學術/商業技術共享協定下提供給微軟和Xerox EuroPARC。這項研究的簡化形式在1991年被併入System 7,在四年後被併入Windows 95。
參見
參考資料
- ^ 1.0 1.1 Raymond Chen, Windows Confidential: Tracking Shortcuts, TechNet Magazine, October 2009 [2017-03-20], (原始內容存檔於2016-03-09)
- ^ Distributed Link Tracking on Windows-based domain controllers. [2017-03-20]. (原始內容存檔於2015-02-25).
- ^ 存档副本. [2021-12-20]. (原始內容存檔於2020-11-12).
- ^ Raymond Chen, Windows Confidential: Why are Shortcuts Files?, TechNet Magazine, September 2006 [2017-03-20], (原始內容存檔於2016-03-07)
- ^ Application User Model IDs (AppUserModelIDs). MSDN. Microsoft. (原始內容存檔於2015-01-13).
- ^ Manually creating junction points in Windows XP. [2017-03-20]. (原始內容存檔於2017-05-20).
- ^ Desktop Entry Specification. freedesktop.org. freedesktop.org. [2015-07-28]. (原始內容存檔於2019-09-22).
外部連結
- "Shell Link (.LNK) Binary File Format" (頁面存檔備份,存於網際網路檔案館) from Microsoft(舊版本 (頁面存檔備份,存於網際網路檔案館))
- IShellLink interface for accessing .lnk files in the Windows API
- "Shellify" (頁面存檔備份,存於網際網路檔案館) Shellify is a 100% managed .NET implementation of the Microsoft Shell Link (.LNK) Binary File Format for accessing .lnk files without the Windows API
- Perl library