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 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?