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