跳至內容

文件快捷方式

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

計算機領域,捷徑是一種用戶界面中的句柄,它允許用戶找到或使用位於另一個目錄或文件夾的一個文件或資源

快捷方式通常被實現為一個包含目標URIGUID的小文件,以此指向一個對象或快捷方式所代表的目標程序文件。快捷方式還可能額外指定命令行參數,從而在運行它時將所定參數傳遞到目標程序。每個快捷方式都有其自身的圖標。快捷方式最常見的地方就是桌面,以及應用啟動面板(例如Microsoft Windows開始菜單)或桌面環境的主菜單。在麥金塔(Macintosh)操作系統中等效的功能被稱為「別名」,在類UNIX系統中則有符號鏈接可用。

實現

Microsoft Windows

文件快捷方式是在Windows 95中被引入。[1]Microsoft Windows使用.lnk作為本地文件快捷方式的文件擴展名,使用.URL作為遠程文件(例如遠端網頁)快捷方式的文件擴展名。默認情況下,一個箭頭會覆蓋圖標以標識性質,並且快捷方式不顯示文件擴展名(擴展名在Windows資源管理器中會始終隱藏,即便在「文件類型」選項中取消選中「隱藏已知文件類型的擴展名」也不會顯示。它由NeverShowExt選項控制,位於註冊表的 HKEY_CLASSES_ROOT\lnkfileIsShortcut選項則控制顯示箭頭)。快捷方式文件可以以最小化或最大化的窗口狀態啟動程序,只要那個程序支持該窗口狀態。

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操作系統的桌面環境(如GNOMEKDE)提供freedesktop.org .desktop[7]文件。這可以用來指向本地或遠程文件、文件夾和應用程序。在Unix系統上也可以創建符號鏈接,能做到類似的功能。

支持桌面快捷方式的X窗口管理器的列表

下面是部分支持在桌面上使用快捷方式圖標的窗口管理器:

Mac

雖然在Unix子系統中可以創建符號鏈接,麥金塔(Macintosh)沒有對快捷方式的擴展。擴展名.webloc被用於Safari瀏覽器中的互聯網URL。Macintosh System 7Mac OS 9中的「別名英語Alias (Mac OS)」採用使用斜體文件名標識以區分。在Mac OS 8及之後的版本中則添加了一個稱為「別名箭頭」的標識,它是一個在白色小正方形上的黑色箭頭,類似Microsoft Windows中的快捷方式。在Mac OS X中,別名的文件名不會被斜體,但仍有箭頭標識。此外,別名會保留到對象的動態引用,並且即使在遠程服務器上調用文件時也不需要指定別名[需要解釋]

歷史

要在早期的圖形用戶界面中執行一個應用程序呈現一個電腦檔案,用戶必須點擊點擊文件的實際所在位置,例如應用程序的可執行文件。將執行一個與可執行文件相關聯的指令的圖標與該文件本身分離的概念使得圖標可以按照功能或任務而不是文件存放的物理結構來分組。這種概念最早在1991年金士頓大學出版的研究論文「窗口化圖形用戶界面的面向任務前端」中描述,並在同年根據學術/商業技術共享協議下提供給微軟Xerox EuroPARC。這項研究的簡化形式在1991年被併入System 7,在四年後被併入Windows 95

參見

參考資料

  1. ^ 1.0 1.1 Raymond Chen, Windows Confidential: Tracking Shortcuts, TechNet Magazine, October 2009 [2017-03-20], (原始內容存檔於2016-03-09) 
  2. ^ Distributed Link Tracking on Windows-based domain controllers. [2017-03-20]. (原始內容存檔於2015-02-25). 
  3. ^ 存档副本. [2021-12-20]. (原始內容存檔於2020-11-12). 
  4. ^ Raymond Chen, Windows Confidential: Why are Shortcuts Files?, TechNet Magazine, September 2006 [2017-03-20], (原始內容存檔於2016-03-07) 
  5. ^ Application User Model IDs (AppUserModelIDs). MSDN. Microsoft. (原始內容存檔於2015-01-13). 
  6. ^ Manually creating junction points in Windows XP. [2017-03-20]. (原始內容存檔於2017-05-20). 
  7. ^ Desktop Entry Specification. freedesktop.org. freedesktop.org. [2015-07-28]. (原始內容存檔於2019-09-22). 

外部連結