关于 Windows 上的一类文件有这么一些笑话:你请某人发送一个文件副本,Ta 将桌面上的「文件」拖到了聊天框,叮当一响,你收到了一份「document.lnk」;你告诉 Ta 将某某软件卸载,于是 Ta 把桌面上的「软件」移到了回收站,告诉你「搞定了」……

这类文件读者都很熟悉,我们一般称之为快捷方式,它们的图标上都带着小箭头。大部分软件安装后往往会同时在桌面和开始菜单中创建快捷方式;如果没有,一些读者可能会在目标文件上「右键 > 发送到 > 桌面快捷方式」自己己新建一个。

但除了右键发送到桌面,Windows 快捷方式其实还可以更快捷:在引用对象支持的情况下,它能做到直接调用软件的子功能、以某个模式启动程序等等。

快速新建 Word 博客文章

Word 内置了博客写作工具,完成后可以从软件内直接发送至 WordPress 等平台。但打开 Word,点击新建,再选择模板比较麻烦,能不能创建一个双击直接新建 Word 博客文章的快捷方式呢?

首先,我们需要确认 Word 支不支持命令调用的形式,有没有提供可用的标识。在搜索引擎中键入「Microsoft Word CLI Flags」,前几个结果中就有微软官方给出的 Office 终端调用文档,文档称可以用「-t + 模板路径」的方式据模板新建文档,这正是我们想要的。

打开网易新闻 查看精彩图片

使用这类快捷方式比较推荐的做法是首先定位到应用,将此应用的快捷方式作为底版。例如此例中,Word 在 Program Files\Microsoft 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 窗口弹出,可从任务栏判断命令执行情况;

(可选)快捷键:方便操作;

(可选)常规 > 属性 > 隐藏:配合快捷键设置使用,这样一来桌面甚至连这个快捷方式都看不到,更简约。

然后,将焦点移到桌面,按下预先设置好的快捷键或者点按此快捷方式图标,所有图片立刻归档完成。

打开网易新闻 查看精彩图片

创建系统关键位置的快捷方式

第四个例子是为了补充一种情况——资源管理器本身的特殊参数。我们都使用过系统自动创建的回收站、控制面板、下载文件夹等快捷方式,但它们是如何工作的,用户能不能自行创建这些关键位置的快捷方式呢?

事实上,这些资源管理器内部的特殊位置是由系统在注册表中定义,HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions中包含了几乎所有这类关键位置的信息。每一个位置都对应着独一无二的名称(Name 键数据)和 GUID(项)。例如桌面文件夹对应的名称是「Desktop」,GUID 是{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}

打开网易新闻 查看精彩图片

TenForums 据此整理了两份 列表供大家也可以参考:

按名称: https://sspai.com/s/pxNm

按 GUID:https://sspai.com/s/k97Q

在快捷方式中调用它们也很简单,方法是使用「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」为关键词在搜索引擎中检索。如果官方提供了相关的功能,那大概率就会有在线文档。

打开 Obsidian 特定条目

作为笔者的主力笔记应用,Obsidian 中有一些使用非常频繁的笔记,例如 Todo,快速笔记等。要是能有迅速打开这些笔记的快捷方式自然再好不过。Obsidian 并没有提供好用的标识参数,所以不妨求助于同样强大的 URI Schemes。

以「obsidian URI Schemes」为关键词搜索,能找到开发者对 Obsidian URI 的详细解释文档。

打开网易新闻 查看精彩图片

当然,我们的目标只是找到打开 Obsidian 某条目的快速方法。使用过 Obsidian 的读者应该能发现右键某个条目会有「复制 Obsidian URL」的选项,我们需要的就是这样一个链接。

打开网易新闻 查看精彩图片

同样使用右键调出创建向导,在弹出的内容中填写刚刚复制的 URI,一个快捷方式就创建完成了。如果还有其他需要快速调用的笔记,也可以如此操作。

打开网易新闻 查看精彩图片

常用聊天界面直达

和要好的朋友聊天、写邮件,有什么东西需要立刻和朋友分享,这些操作都需要进入客户端后选择聊天对象。能不能更简便一点,直接唤起和某人的聊天呢?只要应用支持,这是能够实现的。

检索的方式仍然是「应用名 uri schemes」,根据搜索到的提示,我在快捷方式创建向导的目标位置框中填入下面三个内容:

mailto:hi@example.com:直接向某人发送邮件;

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」字符串的项。我们可以通过浏览 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 脚本等其他地方,因而第二、三节的小结部分或许还有本文主旨之外的参考价值。

本文的意义仅在于提供应用的思路,揭示更多操作的可能性。真正适合自己的用法还需要读者自行探索。

题图来自 Unsplas h : @arnav_arw