我在Tomcat的运行作为一种服务,当我打电话通过API在批处理文件中包含一个批处理文件,环境变量通过在用户会话中不可见的服务集
@echo off
setx /M test_path "C:\test"
echo "path set "
而且我有一个Web应用程序另一个批处理文件称为另一个API,它包含
@echo off
echo test_path :: %test_path% > test.log
echo "Got the path"
%test_path%对第二个批处理文件不可见。 我试图让它成为可能,而无需重新启动tomcat服务。
我需要知道是否有可能,
请参阅http://stackoverflow.com/questions/171588/is-there-a-command-to-refresh-environment-variables-from-the-command-prompt-in-w是否必须是环境变量? – Richard
@Richard我已经尝试了这些方法,即使我试图通过打开新的命令提示符来回显通过tomcat java web应用程序设置的变量,但它并没有显示出来。 但是,如果我打开和关闭环境变量窗口(sysdm.cpl,EditEnvironmentVariables),那么我可以在用户命令提示符下回显它。 我不知道当我打开和关闭窗口时发生了什么。 – Kamikaze
当第一个和第二个请求到达时,将会启动的进程之间似乎没有关系。在进程A中设置环境变量(将终止)不会影响父进程(API服务)。因此,稍后请求其他API将启动一个新的进程(B)来运行批处理脚本,环境将不会从进程A得到任何内容。 –