有暑假我们可能需要获取某些可执行程序的安装地址,比如说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
的说法都是
的说法都是的说法都是