Java環境変数を構成するスクリプト

3153 ワード

@echo off

:: TODO:  java    
:: Author: Gwt
color 02
::  java     ,          
set input=
set /p "input=   java jdk  (        C:\Program Files\Java\jdk1.7.0_80):"
if defined input (echo jdk   ) else (set input=C:\Program Files\Java\jdk1.7.0_80)
echo jdk   %input%
set javaPath=%input%

::     ,   JAVA_HOME
wmic ENVIRONMENT where "name='JAVA_HOME'" delete

::     ,   ClASS_PATH 
wmic ENVIRONMENT where "name='CLASS_PATH'" delete

::  JAVA_HOME 。    JDK     
wmic ENVIRONMENT create name="JAVA_HOME",username="",VariableValue="%javaPath%"

::  CLASS_PATH 。   class     
wmic ENVIRONMENT create name="CLASS_PATH",username="",VariableValue=".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar"

::     path ,  jdk   。         、                  
call set xx=%Path%;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin

::echo %xx%

::            path 
wmic ENVIRONMENT where "name='Path' and username=''" set VariableValue="%xx%"

pause

上のスクリプトをJavaAutoBat.batとして保存し、ダブルクリックして実行します.
以下に説明するコマンド@echo offはクローズバックであり、コマンド情報onを表示しないオープンコマンド情報color 02は出力テキスト色を設定しており、ここではコマンドテーブル出力緑色set/p「input=コマンド情報を入力してください」コンソールから入力テキスト情報を受信するためのif elseはif defined inputがユーザが情報を入力したか否かを判断するためのものであり、車に戻ると、inputを定義していない値echoを示す「出力情報」は情報を表示するためのset javaPath=%input%は変数inputの値をjavaPath変数に付与するためのwmicはバッチを提供するコマンドであり、環境変数の値を簡単に操作して環境変数を削除するには、wmic ENVIRONMENT where"name='JAVA_HOME'"deleteコマンドを使用して、wmic ENVIRONMENT create name="JAVA_HOME"、username=""VariableValue="%javaPath%"コマンドを使用して環境変数を作成します.wmic ENVIRONMENT where"name='Pathand'username='"set VariableValue=「value」の注意点:1、上記のバッチ・スクリプト・コマンドでは、スペースや大文字小文字などの入力に注意してください.そうしないと、成功しません.2、管理者方式でコマンドを実行します.そうしないと、コマンドの実行を拒否するプロンプトが表示されます.
参照先:https://blog.csdn.net/qq_22498277/article/details/72149038 上のスクリプトでは、path環境変数にjdkのbinの絶対パスが設定されているという欠点があります.JAVA_HOMEが他のjdkに切り替わるときに再構成する必要があるので、JAVA_HOME変数で表すのが望ましいです.以下のように修正します.
@echo off

:: TODO:  java    
:: Author: Gwt
color 02
::  java     ,          

set /p "input=   java jdk  (        C:\Program Files\Java\jdk1.7.0_80):"
if defined input (echo jdk   ) else (set input=C:\Program Files\Java\jdk1.7.0_80)
echo jdk   %input%
set javaPath=%input%

::     ,   JAVA_HOME
wmic ENVIRONMENT where "name='JAVA_HOME'" delete

::     ,   ClASS_PATH 
wmic ENVIRONMENT where "name='CLASS_PATH'" delete

::  JAVA_HOME 。    JDK     
wmic ENVIRONMENT create name="JAVA_HOME",username="",VariableValue="%javaPath%"

::  CLASS_PATH 。   class     
wmic ENVIRONMENT create name="CLASS_PATH",username="",VariableValue=".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar"

::     path ,  jdk   。         、                  
wmic ENVIRONMENT where "name='Path' and username=''" set VariableValue="%Path%;%%JAVA_HOME%%\jre\bin;%%JAVA_HOME%%\bin"

pause