有暑假我们可能需要获取某些可执行程序的安装地址,比如说git,node.js等。
此时我们可以直接读取环境变量来获取。
1. 访问环境变量
在node.js中可以通过 process.env来获取所有环境变量,如:
2. 从Path获取可执行文件地址
一般的可地文件的地址都存放在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
的说法都是
的说法都是的说法都是