nodejs 获取系统环境变量_Node.JS通过读取PATH环境变量获取可执行文件的安装地址...

本文介绍了如何在Node.js中通过process.env访问系统环境变量,特别是利用PATH环境变量查找并获取可执行文件如git和node.js的安装路径。提供了一个名为getExePath的函数示例,该函数根据给定的扩展名从PATH中筛选并返回第一个匹配项。
部署运行你感兴趣的模型镜像

有暑假我们可能需要获取某些可执行程序的安装地址,比如说git,node.js等。

此时我们可以直接读取环境变量来获取。

1. 访问环境变量

在node.js中可以通过 process.env来获取所有环境变量,如:

console.log(process.env)输出结果:

{ ACLOCAL_PATH: '/mingw64/share/aclocal:/usr/share/aclocal',

ALLUSERSPROFILE: 'C:\\ProgramData',

APPDATA: 'C:\\Users\\Administrator\\AppData\\Roaming',

COMMONPROGRAMFILES: 'C:\\Program Files\\Common Files',

'CommonProgramFiles(x86)': 'C:\\Program Files (x86)\\Common Files',

CommonProgramW6432: 'C:\\Program Files\\Common Files',

COMPUTERNAME: 'SKY-20161119COR',

COMSPEC: 'C:\\Windows\\system32\\cmd.exe',

CONFIG_SITE: '/mingw64/etc/config.site',

DISPLAY: 'needs-to-be-defined',

EXEPATH: 'C:\\Program Files\\Git',

FP_NO_HOST_CHECK: 'NO',

HOME: 'C:\\Users\\Administrator',

HOMEDRIVE: 'C:',

HOMEPATH: '\\Users\\Administrator',

HOSTNAME: 'SKY-20161119COR',

INFOPATH: '/usr/local/info:/usr/share/info:/usr/info:/share/info',

LANG: 'C.UTF-8',

LOCALAPPDATA: 'C:\\Users\\Administrator\\AppData\\Local',

LOGONSERVER: '\\\\SKY-20161119COR',

MANPATH: '/mingw64/share/man:/usr/local/man:/usr/share/man:/usr/man:/share/man',

MINGW_CHOST: 'x86_64-w64-mingw32',

MINGW_PACKAGE_PREFIX: 'mingw-w64-x86_64',

MINGW_PREFIX: '/mingw64',

MSYSTEM: 'MINGW64',

MSYSTEM_CARCH: 'x86_64',

MSYSTEM_CHOST: 'x86_64-w64-mingw32',

MSYSTEM_PREFIX: '/mingw64',

NUMBER_OF_PROCESSORS: '4',

OneDrive: 'C:\\Users\\Administrator\\OneDrive',

ORIGINAL_PATH: '/mingw64/bin:/usr/bin:/c/Users/Administrator/bin:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Win

dows/System32/WindowsPowerShell/v1.0:/c/Program Files/TortoiseSVN/bin:/c/Program Files/nodejs:/c/Program Files (x86)/Skype/Phone:

/c/Program Files/Microsoft SQL Server/110/Tools/Binn:/c/Program Files (x86)/Microsoft SDKs/TypeScript/1.0:/c/Program Files/Micros

oft SQL Server/120/Tools/Binn:/c/Program Files/TortoiseGit/bin:/cmd:/c/Users/Administrator/AppData/Roaming/npm',

ORIGINAL_TEMP: '/tmp',

ORIGINAL_TMP: '/tmp',

OS: 'Windows_NT',

PATH: 'C:\\Users\\Administrator\\bin;C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\local\\bin;C:\\Program F

iles\\Git\\usr\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Us

ers\\Administrator\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v

1.0;C:\\Program Files\\TortoiseSVN\\bin;C:\\Program Files\\nodejs;C:\\Program Files (x86)\\Skype\\Phone;C:\\Program Files\\Micros

oft SQL Server\\110\\Tools\\Binn;C:\\Program Files (x86)\\Microsoft SDKs\\TypeScript\\1.0;C:\\Program Files\\Microsoft SQL Server

\\120\\Tools\\Binn;C:\\Program Files\\TortoiseGit\\bin;C:\\Program Files\\Git\\cmd;C:\\Users\\Administrator\\AppData\\Roaming\\np

m;C:\\Program Files\\Git\\usr\\bin\\vendor_perl;C:\\Program Files\\Git\\usr\\bin\\core_perl',

PATHEXT: '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC',

2. 从Path获取可执行文件地址

一般的可地文件的地址都存放在Path环境变量中,并且以分号分隔。此时,我们可以通过查找这个变量来得知文件的真实路径。

function getExePath(extName) {

var strPath = process.env['PATH']

var nodePath = strPath.split(';').filter((str) => {

if (str.toLowerCase(extName).indexOf(extName.toLowerCase()) > 0) {

return true

}

}) || []

return nodePath[0]

}

比如说,查找git和node.js的安装地址

console.log(getExePath('nodejs'))

console.log(getExePath('git'))

输出结果

C:\Program Files\nodejs

C:\Program Files\Git\mingw64\bin

您可能感兴趣的与本文相关的镜像

Qwen3-8B

Qwen3-8B

文本生成
Qwen3

Qwen3 是 Qwen 系列中的最新一代大型语言模型,提供了一整套密集型和专家混合(MoE)模型。基于广泛的训练,Qwen3 在推理、指令执行、代理能力和多语言支持方面取得了突破性进展

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值