我正在编写一个java代码,它将使用java将路径字符串附加到% path %变量
在命令提示符中,命令是
setx PATH "%PATH%;C:\my Path\"在java中,下面是我的代码:
import java.io.File;
import java.io.IOException;
public class AddToPATHVariable {
public static void main(String[] args) throws InterruptedException, IOException {
String folderPath = "C:\\my Path\\";
System.out.println(folderPath);
Runtime rt = Runtime.getRuntime() ;
Process p = rt.exec("setx PATH \"%PATH%;" + folderPath + "\"");
p.waitFor();
p.destroy();
}
}问题是我的命令行提示符被完美地追加了新字符串。但是java代码将路径变量的值设为% path %;C:\my Path\
请有人在这方面给我指点。
发布于 2014-08-08 16:06:36
好吧,由于没有人负责转换%PATH%,所以它根本不被转换!
更严重的是,实际上是cmd.exe解释器完成了环境变量的转换,而您不使用它。要让它发挥作用,你必须:
PATH转换为java代码中的值
字符串路径=System.getenv(“路径”);编辑:
要真正确定发生了什么,可以在执行之前显示生成的命令:
String cmd = "setx PATH \"" + path + ";" + folderPath + "\"";
Process p = rt.exec(cmd);https://stackoverflow.com/questions/25202275
复制相似问题