标题: [系统相关] 使用批处理脚本检查环境中是否存在JAVA_HOME [打印本页]
作者: cidsxwf 时间: 2019-1-17 11:39 标题: 使用批处理脚本检查环境中是否存在JAVA_HOME
使用批处理脚本检查环境中是否存在JAVA_HOME,如果有就添加指定JAVA_HOME,如果没有就打印现有的JAVA_HOME- @echo off
- IF "%JAVA_HOME%" == "" (
- set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
- set javahome=C:\Windows\Client\jdk
- setx "JAVA_HOME" "%javahome%" -M
- 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;%Y%" -m
- ) ELSE (
- echo %JAVA_HOME%
- )
- pause
复制代码
但是环境变量里的JAVA_HOME为空,path也被覆盖了,请问如何改正
作者: 523066680 时间: 2019-1-17 11:50
回复 1# cidsxwf
win7 有个 setx 命令可能适合你的情况使用
setx
描述:
在用户或系统环境创建或修改环境变量。能基于参数、注册表项或文件输
入设置变量。
作者: Batcher 时间: 2019-1-17 12:33
- @echo off
- if "%JAVA_HOME%" == "" (
- set javahome=C:\Windows\Client\jdk
- call set "JAVA_HOME=%%javahome%%"
- call setx "JAVA_HOME" "%%javahome%%" /m
- setx "path" "%%JAVA_HOME%%\bin;%path%" /m
- ) else (
- echo %JAVA_HOME%
- )
- pause
复制代码
作者: cidsxwf 时间: 2019-1-17 14:09
回复 3# Batcher
java_home还是为空
作者: Batcher 时间: 2019-1-17 15:32
回复 4# cidsxwf
3楼代码已更新,你再试试。
作者: cidsxwf 时间: 2019-1-17 17:14
回复 5# Batcher
感谢大佬,java_home的值有了,但是path没有添加。
作者: Batcher 时间: 2019-1-17 17:33
回复 6# cidsxwf
3楼又更新了一下,再执行看看还有报错吗?
作者: cidsxwf 时间: 2019-1-18 09:14
回复 7# Batcher [/b
非常感谢大佬可以了。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |