快捷方式軟件下載 快捷應用管理



文章插圖
快捷方式軟件下載 快捷應用管理

文章插圖
關于 Windows 上的一類文件有這么一些笑話:你請某人發送一個文件副本 , Ta 將桌面上的「文件」拖到了聊天框 , 叮當一響 , 你收到了一份 document.lnk;你告訴 Ta 將某某軟件卸載 , 于是 Ta 把桌面上的「軟件」移到了回收站 , 告訴你「搞定了」……
這類文件讀者都很熟悉 , 我們一般稱之為快捷方式 , 它們的圖標上都帶著小箭頭 。大部分軟件安裝后往往會同時在桌面和開始菜單中創建快捷方式;如果沒有 , 一些讀者可能會在目標文件上 右鍵 > 發送到 > 桌面快捷方式 自己己新建一個 。
但除了右鍵發送到桌面 , Windows 快捷方式其實還可以更快捷:在引用對象支持的情況下 , 它能做到直接調用軟件的子功能、以某個模式啟動程序等等 。
讓我們先從快捷方式的工作方式講起 。
快捷方式的基本知識
在微軟的 開發者文檔 中 , 快捷方式有另外一個更準確的表述:Shell Links , 可翻譯為殼層鏈接 。這個名稱更趨近于它的本質:用于 Windows 殼層(Shell)的鏈接文件 。Windows 圖形殼層自然是資源管理器(explorer.exe) , 這是它賴以工作的進程;而「鏈接」則說明 Shell Links 是指向引用對象(corresponding object)的文件而并非對象本身 。
工作方式和屬性
以桌面上的 Firefox.lnk 為例 , 當我們雙擊此鏈接 , 資源管理器發現用戶嘗試打開的文件類型為快捷方式 , 便讀取了它的「目標」屬性的內容 C:Program FilesMozilla Firefoxfirefox.exe , 然后嘗試打開此「目標」 , Firefox 程序于是被喚起了 。
這和我們在資源管理器地址欄輸入 Firefox.exe 位置的原理和效果是類似的 。
但不同的是 , 快捷方式有幾個其他的屬性是我們不能通過填充地址欄做到的:
起始位置(工作目錄 & working directory):告訴資源管理器從哪個位置打開目標 , 或者說 , 將目標運行在哪個位置;快捷鍵:當焦點位于快捷方式所在目錄時 , 資源管理器接受以快捷鍵打開鏈接;備注/圖標:快捷方式作為一個文件用于展示自己的各類信息 。后綴名和類型
聽到打開快捷方式和在資源管理器地址欄輸入地址類似 , 一些讀者可能會想到 , Windows 資源管理器地址欄不光能輸入文件地址 , 還可以輸入shell:downloads 直接打開下載文件夾 , 輸入shell:::{26EE0668-A00A-44D7-9371-BEB064C98683}打開控制面板 , 輸入https://example.com打開網站……
是的 , 快捷方式也能接受這些內容 。根據引用對象種類的不同 , 常用的快捷方式分為兩種:
.lnk 鏈接文件:注冊表位置HKCRlnkfile , 引用對象是目錄或文件(包括可執行程序);.url 網絡快捷方式:注冊表位置HKCRInternetShortcut , 引用對象是 URI 。創建方式和解析過程
通過圖形界面創建快捷方式目前有兩種途徑:從引用對象創建和使用向導創建:
從引用對象創建:這種方式需要我們提前定位到引用對象(即快捷方式的目標) , 選中這個對象 , 要么右鍵 > 發送到 > 桌面快捷方式 , 要么按住 Alt 鍵 , 使用鼠標拖動文件到目標目錄 , 然后松開鼠標 。前者在 Windows 11 已經變得非常繁瑣 。使用快捷方式創建向導:在任意目錄下右鍵 , 選擇新建 > 快捷方式 , 填入引用對象的地址和名稱 。
以上面兩種方式創建快捷方式時 , 引用對象必須存在 。但是創建完成后 , 引用對象存在與否就不再影響快捷方式 , 兩者只會在用戶打開快捷方式時發生關聯 。
當用戶雙擊快捷方式時 , 系統會嘗試解析該快捷方式:首先它會用快捷方式指向的路徑檢查引用對象是否能直接找到;如果路徑的目標無對象 , 資源管理器接下來會使用名為 分布式鏈接跟蹤 的技術 , 依靠對象原來的大小 , 名稱 , 創建日期等信息進行檢索 , 成功找到目標后 Windows 會自動更新快捷方式的目標屬性;若無法找到則會提示用戶刪除快捷方式 。
鏈接跟蹤技術的應用給快捷方式帶來了硬鏈接一樣的解析效果:引用對象刪除后恢復、重命名、移動位置都不會導致快捷方式失效 。由于它也像符號鏈接一樣依靠文件路徑定位 , 所以只要路徑正確 , 無論引用對象是否是原來的文件 , 快捷方式都會將其打開 。
與符號鏈接的區別
同樣可以鏈接到文件的路徑 , 同樣由系統提供支持 , 快捷方式和 符號鏈接 卻有本質上的區別 ??旖莘绞饺匀皇且粋€文件 , 它有自己的后綴名 , 有對應的數據(一個地址)和大小(幾 KB) , 還有自己的圖標和屬性 。但符號鏈接沒有對應的數據對象 , 因而也沒有大小可言 , 它沒有后綴名 , 不具有完整文件結構 。
以一個房子為例 , 每一個房子都有坐標 。給別人一個符號鏈接 , 相當于為他開了一個直通房屋所在的傳送門 , 他不需要知道房子實際在什么地方;而快捷方式只是一張寫有地址的小紙條 , 他需要自己摸索才能到達房子 。資源管理器可以讀取紙條內容后找到房屋所在 , 但其他程序未必有這個能力 。
本節匯總:快捷方式的更多可能
綜上所述 , 類似 TXT 文本由 Notepad 打開 , 快捷方式由資源管理器處理 , 它將自己的各個屬性值傳達給資源管理器 , 后者負責檢索并打開引用對象 。引用對象可以是文件、目錄或 URI 。
指向一個文件、目錄、網頁的快捷方式想必讀者司空見慣 。但可執行程序并不是普通文件那么簡單:notepad.exe 會打開一個未命名的文件 , notepad.exe kepa.txt 則會新建一個名為kepa.txt 的文本文件;URI 方案亦不只有 HTTPS , 它可是 iOS 自動化的老將 。
為鏈接文件添加標識與參數 , 將網絡快捷方式目標設置為 Windows 支持的的 URI Schemes , 也許能解鎖快捷方式更多的可能性 。
為鏈接文件添加標識與參數
在圖形化操作系統尚未普及之前 , 用戶一次又一次輸入 命令 標識(flags)參數 來完成工作 。這種方式即使放在今天在很多情況下仍然比圖形界面更高效 。且不談一些仍然流行的終端應用 , 即使是那些專門為圖形界面設計的應用 , 不少也提供了終端調用的方式和豐富的標識 , 而這些都能被快捷方式利用 。
下面以四個實例講解相關用法 , 本節的小結部分總結了查找標識參數的兩個方法 。
用例一:快速新建 Word 博客文章
Word 內置了博客寫作工具 , 完成后可以從軟件內直接發送至 WordPress 等平臺 。但打開 Word , 點擊新建 , 再選擇模板比較麻煩 , 能不能創建一個雙擊直接新建 Word 博客文章的快捷方式呢?
首先 , 我們需要確認 Word 支不支持命令調用的形式 , 有沒有提供可用的標識 。在搜索引擎中鍵入 Microsoft Word CLI Flags , 前幾個結果中就有微軟官方給出的 Office 終端調用文檔 , 文檔稱可以用 -t 加模板路徑的方式據模板新建文檔 , 這正是我們想要的 。
使用這類快捷方式比較推薦的做法是首先定位到應用 , 將此應用的快捷方式作為底版 。例如此例中 , Word 在 Program FilesMicrosoft Office 中 , 找到 EXE 文件、按住 Alt 拖到桌面創建一個快捷方式 。
打開創建的快捷方式 , 編輯其「目標」屬性 , 在后面添加 -t”模板文件路徑” -q , 這告訴 Word 跳過啟動動畫并按模板文件直接新建一個文檔 。將圖標和快捷鍵名稱改成自己喜歡的樣子 , 一個簡單便捷的快捷方式就做好了 。
用例二:以無痕模式打開 Chrome
想要有一個直接以無痕模式運行的 Chrome , 方便銷毀敏感的搜索記錄 。和上一個例子一樣 , 首先以 Chrome CLI Flags 為關鍵詞搜索 , 發現 Chrome 提供的參數多得幾頁都裝不下 。不過我們只需要找和無痕模式相關的標識 , 在網頁內以 incognito 為關鍵詞搜索 , 立即能發現–incognito 標識 。
為 Chrome 創建快捷方式做為底版 , 然后在目標屬性后添加 –incognito 即可 。
實際上 , Chrome 為安裝的瀏覽器應用創建的快捷方式 , 和它為不同的用戶創建的快捷方式也都是通過添加標識和參數實現的 。
用例三:一鍵歸檔桌面的已用圖片
文章寫到現在 , 筆者的桌面已經堆了不少配圖 。由于個人習慣邊寫邊配圖 , 需要用的圖片已經自動上傳圖床 , 桌面上的圖片大概率不會再用到了 。我期望將它們快速移動到一個文件夾中 , 讓桌面上新放的圖更好找到 。
截圖和制圖工具自動生成的圖片命名全都以年份(2021)開頭 , 所以這個操作用 PowerShell 實現起來并不難:
ni archive -Type Directory -Force; mv 2021* -Destination .archive想要用快捷方式調用 PowerShell , 可以找找 pwsh.exe( PowerShell 7 的 exe 名稱)有沒有給什么提示:在終端輸入 pwsh.exe -h , 發現可以用 -c 參數調用命令:
接下來 , 我們用向導的方式創建這樣一個快捷方式 。在桌面 右鍵 > 新建 > 快捷方式 , 輸入pwsh.exe -nol -c ni archive -Type Directory -Force; mv 2021* -Destination .archive , -nol 是不加載 Logo , 會讓命令處理更快一點 。
輸入完名稱后 , 右鍵剛才創建的快捷方式 , 修改以下信息:
起始位置:由于命令中我們使用的是相對位置 , 所以要把起始位置設置為桌面的路徑;運行方式 > 最小化:這樣不會有 PowerShell 窗口彈出 , 可從任務欄判斷命令執行情況;(可選)快捷鍵:方便操作;(可選)常規 > 屬性 > 隱藏:配合快捷鍵設置使用 , 這樣一來桌面甚至連這個快捷方式都看不到 , 更簡約 。
然后 , 將焦點移到桌面 , 按下預先設置好的快捷鍵或者點按此快捷方式圖標 , 所有圖片立刻歸檔完成 。
用例四:創建系統關鍵位置的快捷方式
第四個例子是為了補充一種情況——資源管理器本身的特殊參數 。我們都使用過系統自動創建的回收站、控制面板、下載文件夾等快捷方式 , 但它們是如何工作的 , 用戶能不能自行創建這些關鍵位置的快捷方式呢?
事實上 , 這些資源管理器內部的特殊位置是由系統在注冊表中定義的 , HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions中包含了幾乎所有這類關鍵位置的信息 。每一個位置都對應著獨一無二的名稱(Name 鍵數據)和 GUID(項) 。例如桌面文件夾對應的名稱是 Desktop , GUID 是{B4BFCC3A-DB2C-424C-B029-7FE99A87C641} 。
TenForums 據此整理了兩份(按名稱 , 按 GUID)列表大家也可以參考 。
在快捷方式中調用它們也很簡單 , 方法是使用 explorer.exe shell:Name 或者 explorer.exe shell:::GUID 。舉例來說 , 想要創建一個直達聲音設置界面的快捷方式 , 可以使用右鍵 , 新建快捷方式 , 其內容填explorer.exe shell:::{F2DDFC82-8F12-4CDD-B7DC-D4FE1425AA4D} 。
本節匯總:如何找到想要的標識和參數?
以上四個例子 , 涵蓋了絕大多數種類的應用 。不難看出快捷方式創建過程并不復雜 , 可能會難住讀者的是找到應用支持的標識參數的方法 。這是有規律可循的:
終端命令與應用:例如 Move-item、Windows Terminal、Magick , 我們可以先定位到命令或應用所在 , 輸入 應用名 -h 或 應用名 /h , 一般都會出現各種參數的解釋;再不濟則可以從它們的官網中尋找 , 終端命令和應用必然會給出完善的文檔 , 它們本就以供用戶使用為設計目的 。傳統應用:例如 Word、Vmware、Explorer、ShareX , 它們一般都不提供在終端可見的幫助 。這時候需要以 應用名稱 CLI Flags 為關鍵詞在搜索引擎中檢索 。如果官方提供了相關的功能 , 那大概率就會有在線文檔 。用 URI Schemes 創建網絡快捷方式
一個指向某資源的具體地址 , 如 https://example.com , 被稱為 URL 。這串字符作為命名方式而言的第一級就是 URI Scheme(統一資源標志符方案) 。我們最常見的 HTTPS 只是 數以百計 URI 方案中的一種 。正如同我們能不通過網站主頁用 URL 直接打開某一篇文章一樣 , URI 亦可以用于打開軟件內的某一個位置 。
若讀者在瀏覽器上搜索過 Windows 商店應用 , 點擊安裝 , 瀏覽器會彈出「打開 Microsoft Store」的提示 , 點擊后會跳轉到 Windows Store 。這就是 Windows 上 URI Schemes 的簡單應用 。
【快捷方式軟件下載 快捷應用管理】將 URI Schemes 用于快捷方式的講解也像上一節一樣 , 先看幾個用例 , 個中要點放在小結部分 。
用例一:打開 Obsidian 特定條目
作為筆者的主力筆記應用 , Obsidian 中有一些使用非常頻繁的筆記 , 例如 Todo , 快速筆記等 。要是能有迅速打開這些筆記的快捷方式自然再好不過 。Obsidian 并沒有提供好用的標識參數 , 所以不妨求助于同樣強大的 URI Schemes 。
以 obsidian URI Schemes 為關鍵詞搜索 , 能找到開發者對 Obsidian URI 的詳細解釋文檔 。
當然 , 我們的目標只是找到打開 Obsidian 某條目的快速方法 。使用過 Obsidian 的讀者應該能發現右鍵某個條目會有 復制 Obsidian URL 的選項 , 我們需要的就是這樣一個鏈接 。
同樣使用右鍵調出創建向導 , 在彈出的內容中填寫剛剛復制的 URI , 一個快捷方式就創建完成了 。如果還有其他需要快速調用的筆記 , 也可以如此操作 。
用例二:常用聊天界面直達
和要好的朋友聊天、寫郵件 , 有什么東西需要立刻和朋友分享 , 這些操作都需要進入客戶端后選擇聊天對象 。能不能更簡便一點 , 直接喚起和某人的聊天呢?只要應用支持 , 這是能夠實現的 。
檢索的方式仍然是 應用名 uri schemes , 根據搜索到的提示 , 我在快捷方式創建向導的目標位置框中填入下面三個內容:
mailto:[email protected]:直接向某人發送郵件;tencent://Message/?Uin=QQ 號:打開和某人的 QQ 聊天 。
經過筆者 查閱 , 微信 PC 端曾經支持類似的功能 , 但目前只能用 weixin: 喚起微信主界面 。飛書亦 支持 lark: 開頭的外部請求 , 但喚起聊天界面需要對方的 OpenID 。
用例三:設置條目直達
作為 Windows 的特點之一 , 控制面板與更現代的設置兩代同堂的局面已經持續很久 。不難發現是它們倆可以相互跳轉到某項功能的子界面 。通過上一個節的第四部分 , 我們知道控制面板內的條目能用 GUID 等方式調用 , 那么更現代的設置是怎么做的呢?答案是 URI 。
以 ms-settings URI schemes 為關鍵詞檢索 , 能發現微軟給出的 官方文檔 , 里面詳細列舉了以 ms-settings 開頭的各類可用 URIs 。
這些 URIs 是被設計為供開發者調用的 , 作為用戶的我們也可以按照自己的需要將它們創建為快捷方式 。比如說 , 筆者認為通過任務管理器導航到開機自啟管理界面過于麻煩 , 那么我可以使用右鍵 , 創建快捷方式 , 在對象位置一欄中寫入 ms-settings:startupapps 。將此快捷方式移動到開始菜單 , 以后就能直接點擊或者搜索 開啟自啟 來訪問此項設置了 。
微軟的許多 UWP 類型的系統應用 , 例如 Edge、商店、人脈 , 都提供了 URI Scheme 支持 。對于一些變量 , 例如默認瀏覽器、默認視頻播放器 , Windows 也有對應的 URIs 可供調用 。
本節匯總:在 Windows 中查詢 URI Schemes
Windows 下想要知道哪些應用支持 URI 調用還是很簡單的:URI Schemes 在注冊表中被表述為 URL Protocol , 要使用 URI 的應用必須在注冊表中新建一個帶有 URL Protocol 字符串的項2 。我們可以通過瀏覽 HKCR  , 來確認某應用的 URI Scheme 支持情況 。如下圖所示 , 能看到 BiliBili UWP 版注冊了 bilibili:
對于系統應用和 Windows Store 應用而言 , 我們也可以從 Windows 設置 > 默認應用 > 按協議指定默認應用(Windows 11 改名為 按鏈接類型指定默認應用)界面尋找已經被注冊的各類 URI Schemes 。不過此面板不會顯示一些傳統應用 。
然而試圖查閱到一個可用的 URI 相對而言較為困難 。URI 方案后的行為、查詢參數大部分情況下用于供開發者進行應用內跳轉 , 不會暴露給用戶 。并且由于 安全問題 , 不少應用都限制了從外部直接調用程序功能 。
所幸 URIs 往往會兼顧多平臺的通用性 , Windows、iOS、Android 系統上同一個應用的 URI Scheme 用法有可能是一樣的 。
要是不確定一個 URI Scheme 是否起作用 , 讀者在將它們寫入快捷方式之前 , 可以先使用資源管理器的地址欄做實驗 , 效果符合預期再行動也不遲 。
總結
就能力而言 , 快捷方式顯然比不上腳本等手段 。首先它的目標路徑只能填一行 , 本文第二節雖然有用快捷方式執行多條命令的用例 , 但這顯然不如腳本來得優雅;其次 , 快捷方式是靜態的 , 想要為它加一些變量 , 例如打開 Obsidian 這一周的周志、用電報發送剪貼板內容 , 快捷方式實現起來就較為吃力 , 需要其他工具從旁輔助 。
然而其優勢也是很明顯的——用起來簡單方便 。將目標寫好 , 和我們交互的就只是一個帶箭頭的小圖標 。我們可以雙擊;可以將它們放在開始菜單中用于檢索;還可以固定到任務欄 , 用 Windows + 數字鍵啟用 。快捷方式本身也是一個文件 , 它們可以被保存、備份、遷移 , 只要路徑正確就能成功運行 。
除了能用在快捷方式上 , 本文介紹的標識和 URI Schemes 也能用于 Windows 注冊表、AutoHotkey , JS 腳本等其他地方 , 因而第二、三節的小結部分或許還有本文主旨之外的參考價值 。
本文的意義僅在于提供應用的思路 , 揭示更多操作的可能性 。真正適合自己的用法還需要讀者自行探索 。