[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 想写一个批处理来实现配置java环境变量,求大神帮忙

软件要运行需要配置一下环境变量
1、创建新的环境变量JAVA_HOME,值为:C:\Program Files\Java\jre1.8.0_144(这个地方能弹出一个输入对话框复制java_home的路径,因为32位系统跟64位系统的安装路径名称不一样)
2、向环境变量path中追加值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(后面有;分号)
3、创建新的环境变量CLASSPATH,值为: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意 全面有一个.;)

  1. setx /?
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

用wmic永久添加

TOP

去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

采用修改注册表的方式的添加的话,可以写入以下注册表中。

HKEY_CURRENT_USER\Environment
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 5# codegay
  1. @echo off
  2. set "JAVA_HOME="
  3. set /p "JAVA_HOME=Please input value of JAVA_HOME: "
  4. if not exist "%JAVA_HOME%" (
  5.     echo Not find "%JAVA_HOME%"
  6.     goto :end
  7. )
  8. REM For permanent
  9. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /t REG_SZ /d "%JAVA_HOME%" /f
  10. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH /t REG_SZ /d "%JAVA_HOME%;%PATH%" /f
  11. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v CLASSPATH /t REG_SZ /d ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar" /f
  12. REM For current CMD
  13. set "PATH=%JAVA_HOME%;%PATH%"
  14. set "CLASS_PATH=%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib"
  15. REM Verify
  16. echo,
  17. echo,PATH=%JAVA_HOME%;%PATH%
  18. echo,
  19. echo,CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
  20. echo,
  21. :end
  22. pause
复制代码
这样可对

TOP

回复 5# codegay


   
但是我这样写 执行之后却发现   CLASSPATH变量值为:.;C:\Program Files\Java\jre7\lib;C:\Program Files\Java\jre7\lib\tools.jar             而不是我需要的.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
                                              而Path 虽然也有追加了 但是追加的不是%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;  而是变成了C:\Program Files\Java\jre7; 安装路径
我的程序无法运行了   懵逼了  对这个不大懂写不来了

TOP

  1. <!-- :
  2. @echo off
  3. set "c=%~1"
  4. set "jh=%~2"
  5. if defined c set n=1
  6. if defined jh set /a n+=1
  7. if "%n%" neq "2" (for /f "tokens=1,2 delims=|" %%a in ('mshta "%~f0"') do (set "c=%%a"&set "jh=%%b"))
  8. if not defined jh echo;未指定java_home目录&goto end
  9. if not exist "%jh%\bin\java.exe" echo;java_home目录错误&goto end
  10. echo;"%c%"|findstr "^\"[123]\"$">nul||(echo;参数错误&goto end)
  11. echo;JAVA_HOME="%jh%"
  12. goto :%c%
  13. :1
  14. wmic ENVIRONMENT where "name='JAVA_HOME'" delete 2>&1 >nul
  15. wmic ENVIRONMENT where "name='CLASSPATH'" delete 2>&1 >nul
  16. wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%jh%"
  17. wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%Path%"
  18. wmic ENVIRONMENT create name="CLASSPATH",username="<system>",VariableValue=".;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\jre\lib\rt.jar"
  19. goto end
  20. :2
  21. set "regpath=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
  22. reg add "%regpath%" /v JAVA_HOME /t REG_SZ /d "%jh%" /f
  23. reg add "%regpath%" /v Path /t REG_EXPAND_SZ /d "%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%Path%" /f
  24. reg add "%regpath%" /v CLASSPATH /t REG_EXPAND_SZ /d ".;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\jre\lib\rt.jar" /f
  25. goto end
  26. :3
  27. if not exist "%SystemRoot%\System32\setx.exe" echo;setx不可用&goto end
  28. set "pathtmp=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%Path%"
  29. if "%pathtmp:~1023%" neq "" echo;path的字符数超过1024,setx无法正常修改&goto end
  30. setx JAVA_HOME "%jh%" /M
  31. setx Path "%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%Path%" /M
  32. setx CLASSPATH ".;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\jre\lib\rt.jar" /M
  33. :end
  34. pause&exit
  35. -->
  36. <head>
  37. <title>设置JAVA环境变量</title>
  38. <HTA:APPLICATION SHOWINTASKBAR="no" MAXIMIZEBUTTON="no" SCROLL="no" />
  39. <script>
  40. window.resizeTo(400, 90);
  41. function getfolder(){
  42.     var stdout=new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1)
  43.     var Shell = new ActiveXObject("Shell.Application");
  44.     var Folder = Shell.BrowseForFolder(0, "选择文件夹", 64, 17);
  45.     var obj = document.getElementById("choice");
  46.     var index = obj.selectedIndex;
  47.     var val = obj.options[index].value;
  48.     stdout.Write(val+"|"+(Folder==null?"":Folder.self.Path));
  49.     close();
  50. }
  51. </script>
  52. </head>
  53. 设置方式:
  54. <select id="choice">
  55. <option value="1" selected="selected">wmic命令</option>
  56. <option value="2">注册表</option>
  57. <option value="3">setx命令</option>
  58. </select>
  59. <input type="button" value="选择JAVA_HOME的目录" onclick="getfolder();">
复制代码
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 8# zaqmlp


    大神  能不能设置用一个对话框   复制粘贴进去   用选择的感觉好麻烦的说

TOP

返回列表