2016-11-20 53 views
2

我想首先检查一个文件夹是否是%PATH%变量的一部分,如果没有,请添加它。不幸的是,这个问题很难查找,因为所有的Google结果都不可避免地将npm自己包含在%PATH%中。由于刷新%PATH%需要2-3分钟的重启周期,因此测试和试验的速度非常慢。使用节点来设置Windows PATH变量?

require('child_process').exec('setx PATH "%PATH%;C:\\testpath"')似乎只加C,没有别的。有没有更好的方法来做到这一点?

回答

0

我有你的线的快速运行,并增加了一些console.logs:

stdout: 
SUCCESS: Specified value was saved. 

stderr: 
WARNING: The data being saved is truncated to 1024 characters. 

我也尝试添加/ M,并没有帮助。

看来是什么问题是截断到1024个字符。一个快速的研究使我这个:

https://superuser.com/questions/387619/overcoming-the-1024-character-limit-with-setx

看来,你可以强制路径直接写入到注册表中有超过1024个字符,但它可能会导致某些应用程序崩溃,是轻率。