devil_tulip 2015-11-16 07:17 采纳率: 50%
浏览 1608

批处理设置环境变量和注册服务问题

事情是这样的,我要用批处理设置环境变量,然后跟着注册服务。但是我环境变量设置好了,后面的设置环境变量获取的还是空的。试过了2个功能分2个批处理,然后用call语句或者start语句连接,但是都是这个问题。只有分2个批处理,第一个运行完后关闭,在手动运行第二个才能成功。

 @echo off  
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment  
set local=%~dp0
set catalinahome=%local%software\apache-tomcat-7.0.63
set javahome=%local%software\jdk1.7.0_65
rem LPY  
echo.  
echo ************************************************************  
echo *                                                          *  
echo *                     设置环境变量                         *  
echo *                                                          *  
echo ************************************************************  
echo.  
echo === 准备设置环境变量: CATALINA_HOME=%catalinahome%
echo === 注意: 如果CATALINA_HOME存在,会被覆盖,此操作不可逆的,请仔细检查确认!! ===  
echo.  
echo === 准备设置环境变量: JAVA_HOME=%javahome%
echo === 注意: 如果JAVA_HOME存在,会被覆盖,此操作不可逆的,请仔细检查确认!! ===  
echo.  
echo === 准备设置环境变量: CLASSPATH=.;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar
echo === 注意: 如果CLASSPATH存在,会被覆盖,此操作不可逆的,请仔细检查确认!! ===  
echo.  
echo === 准备设置环境变量: PATH=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin; 
echo === 注意: PATH会追加在最前面,   
echo. 
echo.  
echo.  
echo.  
echo. 
echo === 新创建环境变量 CATALINA_HOME=%catalinahome%
setx "CATALINA_HOME" "%catalinahome%" -M  
echo.  
echo. 
echo === 新创建环境变量 JAVA_HOME=%javahome%  
setx "JAVA_HOME" "%javahome%" -M  
echo.  
echo.  
echo === 新创建环境变量 CLASSPATH=.;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar
setx "CLASSPATH" ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar" -m  
echo.  
echo.  
echo === 新追加环境变量(追加到最前面) PATH=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;
for /f "tokens=1,* delims=:" %%a in ('reg QUERY "%regpath%" /v "path"') do (  
    set "L=%%a"  
    set "P=%%b"  
)  
set "Y=%L:~-1%:%P%"  

setx Path "%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%Y%" -m  
echo.  
echo.
cmd /k "cd/d %local%software\apache-tomcat-7.0.63\bin&&service.bat install&&exit"

图片说明

  • 写回答

1条回答 默认 最新

  • zuishikonghuan 2015-11-16 16:02
    关注

    你这样试试:set xxx=yyyy;%xxx%

    评论

报告相同问题?

悬赏问题

  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)