【问题标题】:Environment Variable in 64 bit OS nor recognized without reboot不重新启动无法识别 64 位操作系统中的环境变量
【发布时间】:2011-08-03 05:49:38
【问题描述】:

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

【问题讨论】:

  • 被什么识别?安装完成后启动的任何程序都应该看到定义的环境变量。但是如果你需要它在已经运行的东西中,比如安装程序本身,你可能必须说服它刷新。
  • 是的,迈克尔就是这样。我正在运行创建 CATALINA_HOME 的安装程序,然后相同的安装程序需要使用此环境变量。正如你所说,我需要刷新这个变量。我怎样才能刷新这个。
  • 对于这种用途,您最好只重用用于设置环境变量的相同变量或属性。

标签: environment-variables tomcat6 installshield


【解决方案1】:

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

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

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

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

【讨论】:

  • 我试过 cmd /k 但不幸的是它不适合我。任何其他建议请..谢谢
  • 你能告诉我你正在运行的命令吗,你在使用 LaunchAppAndWait 吗?当你说不工作时,你的意思是 cmd 甚至没有运行吗?或者它运行但 env 变量不存在,或者你只知道服务没有启动。这种方法一直对我有用,所以错误可能发生在其他地方
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-17
  • 2018-12-13
  • 2011-10-22
  • 2015-06-08
  • 1970-01-01
  • 2011-04-18
相关资源
最近更新 更多