如何从Tcl脚本设置Windows环境变量

时间:2014-11-27 10:09:03

标签: windows tcl environment-variables

我有一个Tcl脚本,它生成一些我喜欢存储在Windows环境变量中的值。我知道这不能直接从我的脚本中完成。

我打算做的是将值输出到stderr:

puts stderr $var

如何使用stderr通道在调用批处理文件中设置环境变量?

是否有更方便的方法从Tcl脚本设置环境变量?

1 个答案:

答案 0 :(得分:1)

最简单的方法可能是使用Tcl脚本编写一个包含环境变量设置的已知名称的批处理文件,例如env.bat

set f [open env.bat w]
puts $f "SET FOO=BAR"
close $f

然后,您可以将真正的批处理文件CALL设置为从中获取环境变量定义:

CALL env.bat

这种方法最容易以令人惊讶的方式开展工作。它也很容易调试,因为你总是可以在文本编辑器中查看env.bat,并弄清楚其中的内容是否合理。 (我假设所有内容都在同一个目录中运行,并且代码有权在那里编写; 可以在其他地方写一个临时文件并传递名称,但要使功能正常,这样做会相当复杂。)