Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中设置Windows系统路径_Java_Windows_Path - Fatal编程技术网

在Java中设置Windows系统路径

在Java中设置Windows系统路径,java,windows,path,Java,Windows,Path,(我知道人们会告诉我这是一个糟糕的想法,但我的应用程序的整个要点是设置路径。) 我想制作一个Java应用程序,包括获取和(永久)设置%PATH%变量 获取它很容易:System.getenv(“路径”) 使用命令行中的Runtime 35; exec和setx命令设置它似乎很简单。问题是setx截断1024字节,路径很容易膨胀到1024个字符以上 是否有其他方法设置路径(可能使用JNI)?我知道路径可能更长,因为我知道。您可以尝试pathman而不是setx,或者您可以将新值直接写入注册表。在后

(我知道人们会告诉我这是一个糟糕的想法,但我的应用程序的整个要点是设置路径。)

我想制作一个Java应用程序,包括获取和(永久)设置
%PATH%
变量

获取它很容易:
System.getenv(“路径”)

使用命令行中的
Runtime 35; exec
setx
命令设置它似乎很简单。问题是setx截断1024字节,路径很容易膨胀到1024个字符以上


是否有其他方法设置路径(可能使用JNI)?我知道路径可能更长,因为我知道。

您可以尝试
pathman
而不是
setx
,或者您可以将新值直接写入注册表。在后一种情况下,您也应该直接从注册表读取它,您从
getenv
获得的值已被修改,因此反馈它可能会导致损坏。(变量引用被展开,用户值和系统值被连接在一起。)我的系统上似乎没有安装
pathman
(Windows 10,如果有帮助的话)。这是一个Microsoft工具,应该可以从他们的下载站点获得。可能是更大捆绑包的一部分,但请尝试搜索“pathman”,看看您找到了什么。