Environment variables 64位操作系统中的环境变量,不重新启动也无法识别

Environment variables 64位操作系统中的环境变量,不重新启动也无法识别,environment-variables,tomcat6,installshield,Environment Variables,Tomcat6,Installshield,我已经安装了一个脚本,它最初将CATALINA_HOME定义为环境变量。之后执行使用CATALINA_HOME的批处理文件service.bat的相同脚本。执行此文件时显示错误CATALINA_HOME未正确定义。因为这个变量被定义为环境变量,并且正确地指向Tomcat目录。我认为系统需要重新启动才能识别环境变量。有没有办法定义不需要重新启动就可以直接工作的环境。我使用的是64位Windows7 我可能错了,但您正在运行的脚本在启动时会加载一次环境变量,因此在脚本运行时不会添加任何新的环境变量

我已经安装了一个脚本,它最初将CATALINA_HOME定义为环境变量。之后执行使用CATALINA_HOME的批处理文件service.bat的相同脚本。执行此文件时显示错误CATALINA_HOME未正确定义。因为这个变量被定义为环境变量,并且正确地指向Tomcat目录。我认为系统需要重新启动才能识别环境变量。有没有办法定义不需要重新启动就可以直接工作的环境。我使用的是64位Windows7

我可能错了,但您正在运行的脚本在启动时会加载一次环境变量,因此在脚本运行时不会添加任何新的环境变量

在脚本中,如果只执行批处理文件,它将使用与脚本开始时相同的过期环境变量

我要做的是运行'cmd/k service.bat',这将使用更新的环境变量启动一个新的shell,并运行批处理文件,然后终止


您不需要在安装之间重新启动。

由什么识别?安装完成后启动的任何程序都可能会看到定义的环境变量。但是如果你在已经运行的东西中需要它,比如安装程序本身,你可能需要说服它刷新。我正在运行创建CATALINA_HOME的安装程序,然后同一个安装程序需要使用此环境变量。正如你所说,我需要刷新这个变量。如何刷新此变量。对于这种用途,最好只重用用于设置环境变量的相同变量或属性。我尝试了cmd/k,但不幸的是,它对我不起作用。还有其他建议吗。。谢谢你告诉我你正在运行的命令,你在使用LaunchAppAndWait吗?当你说不工作,你的意思是cmd甚至不运行?或者它运行时env变量不存在,或者您只知道服务没有启动。这种方法一直对我有效,所以可能错误发生在其他地方