我正在尝试自动化我们项目的目录,我认为设置别名会很有帮助。它们需要可从任何地方访问,最好是从 Windows 文件资源管理器地址栏中访问。我看到有些只是键入一些常见目录的名称,如“桌面”或“程序文件”,不需要一些“shell:Desktop”或“%Desktop%”特殊格式,这很有帮助。但这是如何设置的?这些文件夹是否经过硬编码以便以这种方式访问?是 Windows 索引,一些特殊的环境变量吗?
最重要的是它可以从“用户空间”改变吗?
组策略有这样的“功能”吗?木偶/Ansible/厨师……?
编辑:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell 文件夹不起作用。我认为他们只采用“shell:xxx”格式
我认为有两类文件夹可以通过在地址栏中输入它们的名称来访问。一些系统文件夹似乎是硬编码的:
在地址栏中键入这些文件夹名称中的任何一个时,都会打开相应的文件系统位置:
但是当您键入“Desktop”时,打开的不是
This PC > Deskop
或(引用同一文件系统文件夹的两个不同的命名空间路径),而是打开的Virtual Desktop,它是Shell Namespace的根目录。它是两个文件系统位置的集合:This PC > Windows (C:) > Users >
UserName
> Desktop
shell:ThisPCDesktopFolder
shell:Common Desktop
和两个注册表项:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace
其中添加了与文件系统位置(OneDrive、
shell:UsersFilesFolder
)以及虚拟文件夹(例如Network、Control Panel和Libraries)的连接。查看桌面所有子文件夹的最简单方法是单击地址栏中最左侧的面包屑控件时显示的 DropList:您在此列表中找到的任何名称都可以在地址栏中输入,无需任何特殊语法。因此,位于两个“桌面”文件夹中的任何一个文件夹中的任何文件夹都可以获得此功能。有了所有这些值,就没有什么神秘的 --- 作为顶级子文件夹,文件夹名称也是完全限定的命名空间路径。
除了桌面的直接子文件夹外,此功能似乎还授予在此 PC下找到的位置:用户文件夹、设备和驱动器以及网络位置都可以通过在地址中键入容器名称直接访问酒吧。虽然添加与默认用户文件夹一起显示的文件夹是可能的,但这有点费力,需要为您创建的每个文件夹创建一个 GUID 和多个注册表项。网络位置功能要容易得多。虽然添加网络位置如果您尝试输入本地路径,向导会阻止,您可以绕过向导。通过访问的文件夹中存在的任何项目(文件夹、文件、快捷方式)
shell:NetHood
都将出现在“网络位置”组中:正如 Keith Miller 解释的那样,除了一些现有位置之外,没有其他方法可以添加别名。
编辑:这可以通过在其中一个硬编码位置创建快捷方式来实现。
EDIT2:想想它在“路径”evn var上创建一个“快捷方式”文件夹,然后删除链接与基思的建议没有太大区别......略有不同,它是一个单独的文件夹(更清洁)。
Buuut 对我有用的是 WinKey+X 提示“运行”对话框,并且从“PATH”环境变量中输入名称确实有效。我希望这也可以在资源管理器的地址栏中使用,但这种方式仍然没有太多麻烦。
它是可扩展的,我认为我将能够在文本文件中保存不同的“路径”值(我仍然需要考虑如何做到这一点)并根据项目加载它们。