当前位置:  开发笔记 > 编程语言 > 正文

从Windows Batch(cmd.exe)中的文件中读取环境变量

如何解决《从WindowsBatch(cmd.exe)中的文件中读取环境变量》经验,为你挑选了1个好方法。

我正在尝试从批处理文件中读取变量,以便以后在批处理脚本中使用,这是一个Java启动程序.理想情况下,我希望在所有平台(Unix,Windows)上使用相同的设置文件格式,并且也是有效的Java Properties文件.也就是说,它应该是这样的:

setting1=Value1
setting2=Value2
...

是否有可能像在Unix shell脚本中那样读取这些值?可能应该看起来像这样:

READ settingsfile.xy
java -Dsetting1=%setting1% ...

我知道这可能是可能的SET setting1=Value1,但我真的宁愿为所有平台上的设置使用相同的文件格式.

澄清一下:我需要在命令行/批处理环境中执行此操作,因为我还需要设置无法在JVM中更改的参数,如-Xmx或-classpath.



1> Joe..:

您可以在批处理文件中执行此操作,如下所示:

setlocal
FOR /F "tokens=*" %%i in ('type Settings.txt') do SET %%i
java -Dsetting1=%setting1% ...
endlocal

这将读取包含"SETTING1 = VALUE1"等字符串的文本文件,并调用SET将其设置为环境变量.

setlocal/endlocal用于将环境变量的范围限制为批处理文件的执行.

CMD命令处理器实际上非常强大,但具有相当的拜占庭语法.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有