truffle.js
在 Windows 10 上,我在当前文件夹中有一个名为的文件。我truffle
在 cmd 窗口中写入,希望调用truffle
位于路径其他位置的程序。
相反,truffle.js
在我最喜欢的 IDE 中打开(.js
文件与该 IDE 关联)。我以为这种行为只对可执行文件、.bat
和.com
如此.exe
。为什么文件会发生这种情况.js
?
注意:我随后发现我的路径上根本没有truffle
安装任何东西,但我的问题仍然存在:为什么 Windows 会在不可执行文件上完成我未指定的扩展?
即使安装了 truffle 并重新启动 cmd 后,我仍然无法让真正的 truffle 在包含文件的文件夹中运行truffle.js
。
答案1
因为默认%PATHEXT%
设置为.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
。请注意它如何包含.js
。
这意味着如果您输入一个名称,CMD 将在当前文件夹中按顺序查找带有这些扩展名的文件。只有在那之后,它才会考虑 中的内容%PATH%
。此行为无法更改。%PATHEXT%
但是您可以像修改任何其他环境变量一样进行修改。
您可以使用WHERE
命令来检查要打开哪个路径(例如where truffle
),它将像 CMD 一样自动搜索 %PATH% 和 %PATHEXT%。