windows - 为什么 "start firefox"命令在 Windows 命令提示符下有效?

标签 windows batch-file cmd

我很好奇为什么像“start iexplore”和“start firefox”这样的命令在 Windows cmd 中有效。 它们不是独立的命令。如果您尝试只输入“firefox”,您将得到: “'firefox' 未被识别为内部或外部命令, 可运行的程序或批处理文件。”

由此得出的结论是,这是“start”命令的一种特殊行为。 我的第一个猜测是它的工作方式与 %path% 变量的使用方式类似,具有已知的搜索目录。 我通过尝试为与 firefox 位于同一目录中的另一个可执行文件运行“start [executable]”轻松排除了它。

我的结论是,我的计算机上某处有一个指定文件路径列表,只需在“开始”命令后键入文件名即可启动,而不是整个路径。

想象一下能够向此列表中添加内容的潜力...... 谁知道我在哪里可以找到它?

最佳答案

在注册表中

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\

在此键下定义了应用程序,无需更改路径环境变量即可调用这些应用程序。

通常的调用(在命令行中键入名称)不会在此列表中搜索,而是调用 start 命令、windows Run 对话框或调用任何使用ShellExecuteShellExecuteEx API 调用,将检查此列表中定义的应用程序。

关于windows - 为什么 "start firefox"命令在 Windows 命令提示符下有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26546338/

相关文章:

java - 如何从命令提示符启动程序员记事本

python - 如何让Python自动允许端口通过Windows防火墙

c# - 用C#模拟批处理文件

batch-file - 在 Windows 上通过 Cygwin 运行 shell 脚本

Windows CMD : Echo command without executing it

audio - 从CMD运行时会播放声音,但不能像Jar一样运行

batch-file - 如何将 "cd"逐步放入文本文件中的所有文件夹中?

windows - Pod 立即从 Jenkins 终止到 Kubernetes 集群

java - 是否有用于访问 native Windows API 的 Java 库?

windows - Lua os.execute 空终端