我正在研究一个Tcl脚本,其中我有一个变量,我只想在执行完成后保持其值,所以我试图通过在其中执行set windows命令来定义一个windows环境变量。脚本使用exec函数。
我也尝试通过谷歌找到解决方案,但这也没有用。 这是我尝试过的代码行
exec set verName=$xVar
如果你可以帮助我会很棒。提前谢谢。
答案 0 :(得分:2)
首先,阅读这个问题及其接受的答案: Set a persistent environment variable from cmd.exe
你是如何从Tcl那样做的?好吧,标准registry
包为您提供了工具:
package require registry
set root {HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment}
set theVariable "ABCDE"
set theValue "12345XYZ"
registry set $root\\$theVariable $theValue
registry broadcast "Environment"
registry
包的手册页有一个与PATH
一起使用的具体示例。更新到其他变量是微不足道的。该脚本需要在具有管理员权限的会话中运行才能更新注册表的该部分。
答案 1 :(得分:0)
catch {exec cmd /C "setX $variable_name $valueToSet"}