前置技能
node执行cmd或shell命令 - 简书 (jianshu.com)
【前端 Js】Js/Node.js怎么读取系统环境变量(用户变量/系统变量)最简单版_js如何读取系统变量-CSDN博客
向windows中添加环境变量
const { exec } = require('child_process');
// 设置环境变量名为'MY_VAR',值为'MyValue'
const command = 'setx MY_VAR "MyValue" /M'; // '/M'标志表示设置为系统环境变量,去掉则设置为用户环境变量
exec(command, (error, stdout, stderr) => {
if (error) {
console.error(`执行出错: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
console.error(`stderr: ${stderr}`);
});
向windows中追加环境变量值
const { exec } = require('child_process');
// 假设我们要追加的环境变量名为'MY_PATH',要追加的值为';C:\\new\\path' const envVarName = 'MY_PATH'; const valueToAppend = ';C:\\new\\path';
// 获取当前环境变量值
exec(`echo %${envVarName}%`, (error, stdout, stderr) => {
if (error) {
console.error(`获取环境变量出错: ${error}`);
return;
}
let currentValue = stdout.trim(); // 去除前后空白字符
// 追加新值
const newValue = currentValue + valueToAppend;
// 使用setx命令设置新值,注意这里需要构造正确的命令
const setxCommand = `setx ${envVarName} "${newValue}" /M`; // '/M' 表示设置为系统环境变量
// 执行setx命令
exec(setxCommand, (error, stdout, stderr) => {
if (error) {
console.error(`设置环境变量出错: ${error}`);
} else {
console.log(`环境变量${envVarName}已更新.`);
}
});
});
用setx设置永久环境变量及注意事项_setx不生效-CSDN博客
Windows使用cmd命令行中查看、修改、删除与添加环境变量 - springsnow - 博客园 (cnblogs.com)