我有一个Tcl脚本,该脚本会生成一些要存储在Windows环境变量中的值。我知道这不能直接在我的脚本中完成。
我打算做的就是将值输出到stderr:
puts stderr $var
如何使用stderr通道在调用批处理文件中设置环境变量?
有没有更方便的方法来从Tcl脚本设置环境变量?
最简单的方法可能是使用Tcl脚本编写一个具有包含环境变量设置的已知名称的批处理文件,例如env.bat
:
set f [open env.bat w]
puts $f "SET FOO=BAR"
close $f
然后,您可以制作真正的批处理文件CALL
,以便从中获取环境变量定义:
CALL env.bat
这是一种最容易使人惊讶的方法。这也将非常容易调试,因为您总是可以在env.bat
文本编辑器中查看并确定其中是否有意义。(我假设所有内容都在同一个目录中运行,并且代码具有在此处写入的权限;这绝对是最简单的方法。可以在其他地方编写一个临时文件并在其周围传递名称,但这是相当容易的。更复杂以使功能正常运行。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句