如何将值附加到 NodeJS 中的 PATH 环境变量?

Paz*_*Paz 9 windows node.js setx electron

按照问题中建议的答案 -

是否可以永久设置环境变量?

我能够使用命令永久设置新的环境变量 -

spawnSync('setx', ['-m', 'MyDownloads', 'H:\\temp\\downloads'])
Run Code Online (Sandbox Code Playgroud)

但现在我的目标是将新值附加到 PATH 环境变量中。

是否可以?

mar*_*_91 3

为什么不直接获取环境变量然后附加到它呢?

IE

const {spawnSync} = require("child_process");
const current_value = process.env.PATH;
const new_path_value = current_value.concat(";", "/some/new/path");

var result = spawnSync('setx', ['-m', 'PATH', new_path_value])

// STDOUT
var stdOut = result.stdout.toString();
console.log(stdOut)

// STDERR
var stdErr =  result.stderr.toString();

if(stdErr === '') {
    console.log('Successfully set environment variable')
} else {
    console.log(`ERROR: ${stderr}`)
}
Run Code Online (Sandbox Code Playgroud)

更新“/some/new/path”并按照您提供的链接的建议以管理员身份运行它,它应该可以工作。