首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过批处理脚本获取节点版本

通过批处理脚本获取节点版本
EN

Stack Overflow用户
提问于 2019-11-25 10:12:06
回答 2查看 682关注 0票数 3

我正在学习nodeJS和批处理脚本,我希望使用批处理脚本获得节点版本。

目前的代码是:

代码语言:javascript
复制
FOR /F "tokens=* USEBACKQ" %%F IN (`node --version`) DO (
SET NODE_VER=%%F
)
ECHO %NODE_VER%
pause

但我不明白为什么这不管用。在调用命令node --version之后,它就会冻结。我也试着打电话给node -v,但是行为是一样的。这个精确的命令在用node --version替换python --version时起作用。帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-27 06:10:37

cmd命令将始终首先读取匹配命令的本地目录,然后转到环境%path%搜索该命令。在这个实例中,Node存在于%path%变量中,但是在本地目录中也有一个node.???文件,因此将被使用。因此,以下措施十分重要:

千万不要将批处理文件命名为可执行文件。也就是说,使用my_node_script.cmd总是尝试并在批处理文件node.exe --version中使用完整的可执行文件名,如果可能的话,如果需要在工作目录中使用重复的名称(如node ),则应该使用可执行文件的完整路径。类似于:

代码语言:javascript
复制
"C:\Program Files\nodejs\node.exe" --version

代码语言:javascript
复制
"%ProgramFiles%\nodejs\node.exe" --version
票数 3
EN

Stack Overflow用户

发布于 2019-11-25 16:44:50

试试这个:

代码语言:javascript
复制
@ECHO OFF
FOR /F %%F IN ('node.exe --version') DO ECHO %%F
PAUSE
GOTO :EOF
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59029452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档