![有哪些不同类型的快捷方式?](https://linux22.com/image/1324178/%E6%9C%89%E5%93%AA%E4%BA%9B%E4%B8%8D%E5%90%8C%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%EF%BC%9F.png)
我注意到 Windows 似乎能够创建多种不同类型的快捷方式。目前,我正在尝试了解我的配置文件的网络快捷方式文件夹中存在的文件夹快捷方式。在 Windows 资源管理器中,它显示为带有快捷方式覆盖的文件夹,列出的类型为“文件夹”,双击它会将我带到网络位置。在 powershell 中查看它会显示它是一个文件夹,里面有一个“target.lnk”文件。
此外,我经常发现其他快捷方式的“属性”窗口缺少“目标”字段。我认为这些可能是 Windows 安装程序快捷方式。除了连接和符号链接,还有其他类型的快捷方式吗?更好的是,是否有任何文档可以列出所有这些快捷方式?
*编辑:下面有更多关于我主要关注的快捷方式类型的信息。
Explorer 将文件夹 (BShacklett) 视为快捷方式。Powershell 看到以下内容:
Directory: C:\Users\bshacklett\AppData\Roaming\microsoft\windows\Network
Shortcuts\BShacklett
Mode LastWriteTime Length Name
---- ------------- ------ ----
---hs 2012-06-11 10:50 75 desktop.ini
-a--- 2012-06-11 10:50 1450 target.lnk
PS C:\Users\bshacklett\AppData\Roaming\microsoft\windows\Network Shortcuts> cat .\BShacklett\desktop.ini
[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Flags=2
答案1
没有完整的列表,但你正在看到的是“文件夹快捷方式”,其行为类似于另一个对象的快捷方式的文件夹,并且没有记录(至少微软没有记录)。
如您所见,它是一个包含文件desktop.ini
和的常规文件夹target.lnk
。.lnk
文件是一个必须命名为的常规快捷方式文件target.lnk
,并且desktop.ini
包含以下内容:
[.ShellClassInfo]
CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
Flags=2
您可以在以下注册表项中看到有关 Explorer 如何处理它的一些信息:
HKCR\CLSID\{0AFACED1-E828-11D1-9187-B532F1E9575D}
它们本质上就像文件夹的别名,只是它们不会自动采用真实文件夹的布局。也就是说,如果您激活并调整文件夹中列的大小,然后创建指向该文件夹的文件夹快捷方式,则通过文件夹快捷方式打开该文件夹将允许您查看原始文件夹的实际内容,但列配置(以及窗口位置等其他属性)将是默认配置,而不是自定义配置 — 通过常规方式(直接、文件快捷方式等)打开原始文件夹将使用自定义设置进行显示。
您可能已经猜到了,用于创建文件夹快捷方式的类标识符指向shell32.dll
,它们仅由 Explorer 解析,并被命令解释器(和 PowerShell)视为普通目录。
它们在实际使用中并不常用,但它们还是很有用的,几乎就像一个别名,这很好,因为旧版本的 Windows(如 ME、2000 和 XP)对某些类型的别名的支持并不好,甚至根本不支持。Explorer 自动创建它们的一种方法是当您将文件夹拖到“开始”菜单时。当您将文件夹拖到另一个文件夹、快速启动栏等时,会创建该文件夹的常规文件快捷方式,但当您将其拖到“开始”菜单时,会创建一个文件夹快捷方式,使其像子菜单一样(即可展开)。
需要注意的是,虽然您可以使用它们来制作可扩展菜单,但它们的行为只能像这样一层深。因此,创建一个文件夹的快捷方式,将其放在另一个文件夹中,然后创建一个文件夹的快捷方式那文件夹并将其放入菜单中不允许您创建三级可扩展菜单。相反,您将获得一个菜单,其中包含一个文件夹,该文件夹展开后显示另一个文件夹,该文件夹展开后显示名为 的快捷方式target
。
答案2
有些Shortcuts
只是*.lnk
文件,Junction
有些Hard link
是Symbolic link
NTFS 对象。不要混淆它们。
Shortcuts
可能针对Paths
(文件和文件夹)和PIDL's
(在 Explorer 界面中不可编辑)。
答案3
除了@Maximus 列出的 4 种类型之外,还有第五种类型,即注册表中定义的“特殊”系统快捷方式。
这些示例包括 Windows 7 中的“库”、字体、打印机等。
.lnk 和连接点是 Windows(NTFS 分区)特有的。硬链接和符号链接也存在于许多其他文件系统中,包括所有类 UNIX 操作系统(Linux、BSD、Mac 等)。
硬链接和符号链接只能使用 Windows 原生工具从命令行设置。但有一个出色的 Windows 资源管理器插件允许创建它们。可以从命令行或 Windows 控制面板磁盘实用程序创建连接。Lnk 链接是 Windows 资源管理器特有的。
在大多数情况下,我更喜欢使用符号链接。它们在混合操作系统环境中运行良好,并且适用于大多数 Windows 软件。