java - 从java代码设置本地dos变量

标签 java batch-file dos windows-console

如果从命令行运行“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/

相关文章:

windows - "Droplet"批处理脚本 - 包含符号的文件名

c - 如何使用graphics.h函数用c实现弹跳球?

c++ - Borland C++ 编译器中的 Iostream

java - 即使使用 jar 也无法解析 Spring ApplicationContext

java - Javadoc 的图像文件放在哪里?

java - 如何避免加入并方便扩展

java - JVM CodeCache 区域中存储了哪些编译后的代码

linux - 如何将 Linux shell 脚本转换为 Windows 批处理文件?

java - 为什么.bat中编写的命令在java中无限运行?

两个数字的 GCD 的汇编代码计算不起作用