如果您在 Windows 的命令行上调用nmake
(或任何exe
),Windows 将搜索所有path
变量并将目录附加到前面nmake
并执行它。
此外path
,Windows 是否会搜索其他环境变量并将其附加到其前面nmake
?
答案1
不,据我所知没有。
(并且我不认为 PATHEXT 是答案......它只是将一些模式附加到您在 CMD 中输入的内容以找到正确的二进制文件)
答案2
小路是唯一包含 Windows 将前置找到要运行的程序。但是,Windows 确实使用路径文本变量来确定文件扩展名附加根据你的命令来找到要运行的文件。
该算法有点像这样:
- 对于每个条目小路,直到找到文件为止:
- 文件 = 条目 + 命令;检查文件
- 对于每个条目路径文本,直到找到文件为止:
- 文件 = 文件 + 条目;检查文件
- 如果找到文件,则运行它
答案3
不。
PATH
是 shell 用来解析未指定可执行文件位置的环境变量。输入 时nmake
,shell 首先在当前目录中查找可以运行的程序(nmake.exe
、nmake.bat
等),如果找到,则执行该程序。如果没有找到,则在 中指定的每个目录中查找PATH
可执行文件,并运行找到的第一个程序。
除了它是 shell 用于此目的的变量之外,没有什么特别之处PATH
。shell 没有理由尝试使用任何其他变量来实现此目的。