如果从命令行运行“java -jar”, 有没有办法从java程序设置本地dos变量,以便 java退出后,还能存在于同一个 session 中吗?
示例
(cmd)
c:\java package.Class
/*then in program you do something like
'System.setVariable("name","value");'
*/
// java exited
echo %name%
value
最佳答案
没有。进程无法修改其父进程的环境。
您能做的最好的事情就是稍微作弊并执行以下任一操作:
- 让 Java 程序在某个已知位置写出一个批处理文件,然后调用它来设置变量。由于批处理文件在当前
cmd
进程中运行,因此它们可以在那里更改环境变量。 - 让程序输出名称/值对或完成
set
命令,捕获输出并随后自行设置变量。我猜,一旦你想要或有其他输出,就会出错。
关于java - 从java代码设置本地dos变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6276611/