运行框特殊文件夹

运行框特殊文件夹

看完之后一个答案我了解到某些文件夹有一个特殊功能

用户资料又名 C:\Users\Steven
SystemRoot 又名 C:\Windows

来自运行箱,您可以访问其中的任何子文件夹。例如,输入Documents将显示 C:\Users\Steven\Documents。其他文件夹是否具有此功能,或者是否可以将此功能添加到文件夹中?

答案1

Windows 运行框尝试调用Shell.ShellExecute 方法 (注册文件类型的默认操作)针对输入栏中的文本指定的文件,即当前目录中的文件,即%USERPROFILE%

假设我们MyLoc Sets在这里写下并点击Enter

首先,该词MyLoc被认为是一个命令。shell在当前目录中搜索可执行变体,例如,,,,...,然后在环境变量指定的目录中搜索, MyLoc.com然后在和配置单元 下搜索注册表项。作为最后的手段,shell在相同位置(注册表除外) 搜索文件夹。MyLoc.exeMyLoc.batMyLoc.cmd%PATH%\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Myloc.exeHKEY_CURRENT_USERHKEY_LOCAL_MACHINEMyLoc Sets文件未找到错误...

现在,尝试Local Settings:未找到名为 的可执行文件Local,但在 下找到了一个同名文件夹%USERPROFILE%!因此,文件夹被注册为文件类型,而文件夹的默认操作曾经是“探索",则可以通过该ShellExecute方法执行...

答案2

正如 Arakel 所说,这里有两个不相关的特征:

  1. 用作的环境变量%variable%,例如%USERPROFILE%
  2. 输入的命令没有 %...%, 例如documents

实际上,前几个只是具有值的宏。语法%...%只是将变量名称转换为文本,然后执行此文本,就像将其输入到运行框中一样。

首先在指定的文件夹中搜索输入的文本PATH 环境变量 和 中%USERPROFILE%。在这种情况下,输入的整个文本必须等于文件夹名称。例如, 为“documents” C:\Users\<user>\Documents, 为“videos” C:\Users\<user>\Videos

如果未找到同名文件夹,则输入框中的第一个单词将被视为命令,而后面的单词将被视为参数。包含空格等分隔符的单词需要用引号引起来。

如果输入的命令名称与文件夹名称不匹配,Windows 将尝试在 PATH 中查找具有该确切名称的可执行文件。如果命令没有后缀,Windows 将尝试所有可执行文件后缀,例如.exe.bat(以及更多)。实际上有数百个命令名称可以通过这种方式输入。

例如,输入calc将启动 Windows 计算器,它是可执行文件 C:\Windows\System32\calc.exe,因为C:\Windows\System32它在 PATH 中。


可以通过这种方式创建自己的运行命令:

  1. Win+R打开运行对话框
  2. 输入%windir%打开Windows目录
  3. Alt+F W S打开文件菜单,选择新建菜单项,然后选择快捷方式菜单项
  4. 按照向导创建所需程序或文件夹的快捷方式
  5. 快捷方式的名称就是您在运行框中输入的用于启动该程序的名称。

另一种方法是通过注册表完成(不推荐)。微软称之为应用程序注册

  1. 运行 Regedit 并导航到以下键:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
    
  2. 右键单击该App Paths键并选择新建/键命令。

  3. 为新密钥指定一个 2-8 个字符的名称,后跟.exe
  4. 将该项目的值更改为(Default)程序的完整路径。

例如,此示例注册表文件允许ie在运行框中键入以下内容以打开 Internet Explorer:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ie.exe]
@="C:\\Program Files\\Internet Explorer\\iexplore.exe"

答案3

似乎运行箱只是一个 GUI 版本的start命令,带有默认/d %userprofile%开关值,用于设置起始目录的路径

就像它对其他命令做出反应一样%path%%pathext%等等特殊的环境变量

此外,它理解直接打开网页的模式,例如ctrl+ r(或startwww.superuser.com使用默认的 Web 浏览器应用程序打开网站,因为它知道参数是网址这次

这些环境变量的有趣部分是它们所包含的列表中项目的顺序,因为它对于设置搜索优先级很重要,并且在查找同名文件或目录时很重要

相关内容