【发布时间】:2013-03-18 15:50:13
【问题描述】:
我正在编写一个 shell 脚本来读取包含 key=value 对的文件并将这些变量设置为环境变量。我尝试使用以下代码,
if EXIST "test.dat" (
for /F "tokens=*" %%I in (test.dat) do @set %%I
echo setting JAVA_HOME to :: %JAVA_HOME%
echo setting JAVA to %JAVA%
)
假设test.dat 有JAVA_HOME=c:\JDK1.6 和JAVA=c:\JDK1.6\bin\java
运行上面的代码并没有设置这些变量,即使我在do 中有set %%I 语句。这两个 echo 语句没有打印任何内容。我在这里想念什么?为什么从文件中读取的行没有设置到环境中?
【问题讨论】:
-
与您尝试stackoverflow.com/questions/15479542/…时相同的变量延迟扩展问题
标签: windows batch-file command