通过在用户会话中不可见的服务设置的env变量

时间:2017-01-02 11:24:47

标签: windows session tomcat environment-variables

我有一个在tomcat中作为服务运行的Web应用程序,当我通过批处理文件包含的API调用批处理文件时,

@echo off 
setx /M test_path "C:\test"
echo "path set "

我还有另一个批处理文件叫做另一个API,它包含

@echo off
echo test_path :: %test_path% > test.log
echo "Got the path"

%test_path%对第二个批处理文件不可见。 我试图在不重启tomcat服务的情况下实现它。

我需要知道是否可能,

1 个答案:

答案 0 :(得分:0)

您可以直接从注册表中阅读它。

for /F "tokens=*" %%G IN ('reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "test_path"^|find "    REG_SZ    "') DO (set testpath=%%G)
set testpath=%testpath:~23%
echo %testpath%

如果采用这种方法,最好直接在应用程序的密钥下设置注册表值。