1. ホーム
  2. スクリプト・コラム
  3. DOS/BAT

ワンクリックcmdでJavaの環境変数を表示、変更(上書き、追加)などを設定。

2022-02-10 22:13:05

ここまで来て、品定めをしてみましょう

スクリプトを使ってワンクリックでjavaの環境変数(デフォルトのインストールパス)を設定する。

PowerShell.exe -ExecutionPolicy Bypass -File 1.ps1 > CLSID.list

JDKのインストール/JREのインストールとjava環境変数の設定は、java初心者にとって頭の痛い問題です。そこで、JDKのインストールやJRKの個別インストールを1ステップで完了するための簡単なバッチコマンドを紹介します。

主な手順

1. 新しい .txt ドキュメントを作成し、Annex I/Annex II をドキュメントにコピーします。

2. 文書内の内容を修正する。

附属書Ⅰ:スタート /WAIT <スパン jdk-8u141-windows-i586.exe /qn INSTALLDIR=C:♪Java♪jdk1.8

附属書Ⅱ:起動 /WAIT jre-8u144-windows-i586.exe /s INSTALLDIR=C:♪Javajre

赤字の部分は、ダウンロードしたJDK名/JRE名に変更します。注:ドキュメントとソフトウェアは、フォルダ

3. .txt ドキュメントの接尾辞を .bat に修正する。

4. ダブルクリックで実行し、ようやくインストールと設定が完了します。

添付資料1(JDKと設定環境のワンクリックインストール)。

JuicyPotato.exe -t t -p c:\windows\system32\cmd.exe -l 1111 -c {031EE060-67BC-460d-8847-E4A7C5E45A27}


附属書II(JREと構成環境のワンクリック・インストール)。

@echo off


%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","",""," quot;runas",1)(window.close)&&exit

set myjrepath=C:\Java\jre

echo **********************************************
echo.
echo will have to install the software runtime environment jre
echo.
echo install please press any key, exit directly close the window
echo.
echo **********************************************

pause

echo.
echo jre is being installed, please do not perform other operations
echo.
echo Please wait, this will take about four or five minutes
echo.
start /WAIT jre-8u144-windows-i586.exe /s INSTALLDIR=C:\Java\jre
echo jre installation is complete

set JAVA_HOME=C:\Java
set PATH=%PATH%;%%JAVA_HOME%%%\jre\bin
set CLASSPATH=. ;%%JAVA_HOME%%%\jre\lib

set RegV=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

reg add "%RegV%" /v "JAVA_HOME" /d "%JAVA_HOME%" /f
reg add "%RegV%" /v "Path" /t REG_EXPAND_SZ /d "%PATH%" /f
reg add "%RegV%" /v "CLASSPATH" /d "%CLASSPATH%" /f
mshta vbscript:msgbox("Java environment has been successfully registered! ",64,"Success")(window.close)

exit

環境変数の役割

オペレーティングシステムが実行環境のいくつかのパラメータを指定するために使用されます。例えば、一時フォルダの場所やシステムフォルダの場所などです。例えば、"Path"は、いくつかの一般的なコマンドへのパスを格納する変数で、いくつかのプログラムを実行するときに、現在のフォルダに加えて、これらの環境変数を調べます。

手動で設定するのも良いのですが、バッチや初心者の場合は簡単ではないので、ここではcmdで設定する方法を紹介します。

環境変数の恒久的な設定とゼロタイム設定

環境変数がsetで設定された場合、その環境変数は現在のダイアログ・プログラムに対してのみ有効です。cmd setダイアログが閉じられると、環境変数は元に戻ります。例えば

set PATH=%PATH%;C:⇄Program Files

システム環境変数を恒久的に変更する。setx を使用します。たとえば、以下のようになります。

setx PATH "%PATH%;C:\Program Files" /M

1. 現在利用可能なすべての環境変数(=システム変数+ユーザー変数)を表示する

set

PATH などの環境変数を表示します。

set PATH

xxx=aaのような環境変数を追加します。

set xxx=aa

環境変数の値(例:xxx)をnullに設定する

set xxx=

環境変数(PATHなど)の後ろに新しい値(d:㊙)を追加します。

set PATH=%PATH%;d:\xxx

[注意】です。] コマンドラインでの環境変数の操作は、アプリケーションの現在のウィンドウに対してのみ有効です!

何を設定するか。

コマンドを呼び出すためにcmdコマンドラインウィンドウを起動すると、しばしば "xxxは内部コマンドでも外部コマンドでもなく、実行可能なプログラムでもバッチファイルでもありません" と表示されます。 スペルが正しく、プログラムがコンピュータに存在する場合、このプロンプトは、パス変数が設定されていないことを意味します。 パス変数(デフォルトパス)にプログラムが含まれておらず、プログラムの絶対パスが与えられていない(コマンドまたはプログラムの名前を入力したため)ため、OSがプログラムの場所を把握しておらず、この問題が表示されるのです。

セットアップの方法

1. 現在利用可能なすべての環境変数を確認する

setと入力すると表示されます。

2. 環境変数を表示するには

例えば、パス変数の値を見るには、「set path」と入力します。

3. 環境変数の変更(オーバーライド)

"set variable name=variable content"と入力し、例えばパスを "d:\nmake.exe" に設定する場合は set path="d:\nmake.exe" と入力すればOKです。なお、この環境変数の変更は、現在の内容が以前の内容を上書きするために使用されるのであって、追記されるわけではありません。例えば、上記のパスpathを設定した場合、set path="c"を再入力すると、再度パスpathを見たときにその値は "c:"となり、 "d:\nmake.exe " "c" とはならないのだそうです。

4. 空に設定する

変数をnullに設定したい場合は、"set variable name="と入力します。例えば、"set path="とすると、pathを見たときに空っぽになるようになります。上記のように、これは現在のコマンドラインウィンドウでのみ機能することに注意してください。ですから、パスを見るときに "マイコンピュータ" - "Properties" を右クリックしないように・・・・・・・・。

5. 変数への追加(アペンド)

set variable name=%variable name%;variable content"と入力します。例えば、pathに新しいパスを追加する場合、"set path=%path%;d:\nmake.exe" と入力して、pathにd: \nmake.exe を追加し、再度 "set path=%path%;c:" と実行してください。すると、set path文で表示したときに、d:Ⅾnmake.exe;cと表示されるようになります。

というように。

Append, override set Path

set PATH=%PATH%;C:\Program FilesMicrosoft SDKsWindowsv6.0A¥Lib;C:\Program FilesMicrosoft SDKsWindowsv6.0Abin;C:\Program Files Microsoft SDKsWindowsv6.0A¥include
set PATH=C:\Program FilesMicrosoft Visual StudioCommonTools; C:\Program FilesMicrosoft Visual StudioCommonToolsWinNT; C:\Program FilesMicrosoft Visual StudioCommonMSDev98Bin; C:\Program FilesMicrosoft Visual StudioVC98bin}を指定する。

LIBを上書きする

set LIB=%LIB%;C:³ FilesMicrosoft SDKs³³³³v6.0A³³Lib
set LIB=C:\Program FilesMicrosoft XML Parser SDK;C:\Program FilesMicrosoft Platform SDK

IV. 付録

以下は一般的な環境変数です。
  APPDATA% local アプリケーションがデフォルトでデータを保存する場所を返します。
  COMMSPEC% システム コマンドライン・インタプリタの実行可能ファイルの正確なパスを返します。
  DATE% システム 現在の日付を返します。date /t コマンドと同じ書式を使用します。Cmd.exeによって生成されます。日付コマンドの詳細については、「日付」を参照してください。
  ERRORLEVEL% system 直近に使用したコマンドのエラーコードを返します。通常、エラーを示すには 0 以外の値が使用されます。

ALLUSERSPROFILE% Local すべてのユーザー・プロファイルの場所を返します。
APPDATA%ロケールは、アプリケーションがデフォルトでデータを保存する場所を返します。
CD% local 現在のディレクトリ文字列を返します。
CMDCMDLINE% ロケールは、現在の Cmd.exe の起動に使用された正確なコマンドラインを返します。
CMDEXTVERSION% システム 現在のコマンド ハンドラ エクステンションのバージョン番号を返します。
%COMPUTERNAME% システム コンピューターの名前を返します。
COMMSPEC% システム コマンドライン インタープリター実行可能ファイルの正確なパスを返します。
DATE% システム 現在の日付を返します。date /t コマンドと同じ書式を使用します。Cmd.exeによって生成されます。日付コマンドの詳細については、「日付」を参照してください。
ERRORLEVEL% system 直近に使用したコマンドのエラーコードを返します。通常、エラーを示すには 0 以外の値が使用されます。
%HOMEDRIVE% システム ユーザーのホーム ディレクトリに接続されているローカル ワークステーション ドライブ番号を返します。ホーム・ディレクトリの値に基づいて設定されます。ユーザのホーム・ディレクトリは、[ローカル・ユーザとグループ] で指定されます。
%HOMEPATH% システム ユーザーのホームディレクトリへのフルパスを返します。ホーム・ディレクトリの値に基づいて設定されます。ユーザーのホーム・ディレクトリーは、ローカル・ユーザーとグループで指定されます。
%HOMESHARE% システム ユーザーの共有ホームディレクトリへのネットワークパス を返します。ホーム・ディレクトリの値に基づいて設定されます。ユーザーのホーム・ディレクトリは、[ローカル・ユーザーとグループ] で指定されます。
LOGONSEVER% Local 現在のログイン・セッションを認証するドメイン・コントローラーの名前を返します。
NUMBER_OF_PROCESSORS% システム コンピュータにインストールされているプロセッサの数を指定します。
OS% システム OS の名前を返します。Windows 2000 では、OS は Windows_NT と表示されます。
PATH% システム 実行可能なファイルを検索するパスを指定します。
PATHEXT% システム オペレーティングシステムが実行可能であるとみなすファイル拡張子の一覧を返します。
%PROCESSOR_ARCHITECTURE% システム プロセッサのチップアーキテクチャを返します。値: x86、IA64。
%PROCESSOR_IDENTFIER% システム プロセッサの説明を返します。
%PROCESSOR_LEVEL% システム コンピュータに取り付けられているプロセッサーのモデル番号を返 します
PROCESSOR_REVISION% システム プロセッサーのリビジョン番号のシステム変数を返します。
PROMPT% local 現在のインタープリターのコマンドプロンプト設定を返します。Cmd.exe によって生成されます。
RANDOM% システム 0 から 32767 までの任意の 10 進数を返します。Cmd.exe によって生成されます。
SYSTEMDRIVE% システム Windows XP のルート ディレクトリがあるドライブ (システム ルート) を返します。
%SYSTEMROOT% SYSTEM Windows XP のルートディレクトリの場所を返します。
TEMP% および %TMP% システムおよびユーザー 現在ログオンしているユーザーが使用できるアプリケーションで使用され るデフォルトの一時ディレクトリを返します。TEMP を必要とするアプリケーションもあれば、TMP を必要とするアプリケーションもあります。
%TIME% システム 現在の時刻を返します。time /t コマンドと同じ形式を使用します。Cmd.exeによって生成されます。timeコマンドの詳細については、「時間」を参照してください。
USERDOMAIN% local ユーザーアカウントが含まれるドメイン名を返します。
USERNAME%ロケールは、現在ログインしているユーザーの名前を返します。
UserProfile% ロケールは、現在のユーザーのプロファイルの場所を返します。
%WINDIR% システム オペレーティング・システム・ディレクトリの場所を返します。

ワンクリックでjavaの環境変数を設定

<ブロッククオート

@reg add "HKEY_LOCAL_MACHINE³³CurrentControlSet³³Session ManagerEnvironment" /v ClassPath /t reg_expand_sz /d " ;. \Όταμμα ταμμα ταμμα %%JAVA_HOME%%lib;%%Java_Home%lib ταdt.jar;%%Java_Home%lib ιιομα.jar" /f
HKEY_LOCAL_MACHINE³³CurrentControlSet³³ControlSession ManagerEnvironment" /v path /t reg_expand_sz /d ".
HKEY_LOCAL_MACHINE/SYSTEMCurrentControlSet/ControlSession ManagerEnvironment" /v Java_Home /t reg_sz /d "%cd%& quot; /f
一時停止

上記はXDAから抜粋して、それに合うように修正したものです。

このファイルを[JAVAEnvironmentVariableSettings.bat]ファイルとして保存し(名前はカスタマイズ可能)、JDKディレクトリで管理者権限で実行してください。
JDK

ダウンロードするJavaプラットフォーム(JDK)を選択してください

アドレス http://www.oracle.com/technetwork/java/javase/downloads/index.html

インストールについて書く必要はない!

自分のインストールディレクトリは C:\Javajdk1.7.0_03 です。

画像の通りです。

先ほど保存した[JAVA環境変数設定.bat]ファイルを、上記のようにこのディレクトリに入れます。
実行をクリックすると、JAVA環境変数が正常に設定されたことを示す以下の画像が表示されます。

先ほどインストールした JAVA JDK のバージョン番号を出力してみましょう。

そして、これで終わりです! では、皆さんは自分のやるべきことをやってください!

質問です。

1.Java SE Development Kit (JDK) not found Error:Failed to find java version for 'C:\windowssystem32java.exe':

解決方法

Windows 7 64-bit, Android SDKを再インストールしたところ、ちょっとした問題が発生しました。

JDKがシステムにインストールされているかどうかを確認する際、必ずこう表示されます。Java SE Development Kit (JDK) が見つかりません。
Error:Failed to find java version for 'C:\windows***system32java.exe': [2] 指定されたファイルが見つかりませんでした。

実は私のJDKはすでにインストールされています。以前、Android SDKをインストールしたときは、この問題に遭遇しませんでした。

JDKがインストールされていない方は、まずこちらでインストールをお願いします。

http://www.oracle.com/technetwork/java/javase/downloads/index.html

インストール後、さらに下を見てください

C:³³にjavaがあります。
CMDがコマンドラインになり、javaと入力しても正常に応答します。

エラー報告画面のプロンプトには、Java SE Development Kit(JDK)がインストールされていることを確認したら、環境システム変数を設定してきてください、という趣旨の英文が並んでいます。 JAVA_HOME

次に、JAVA_HOMEの値を設定する環境変数を指定します。

環境変数の詳細については、こちらをご覧ください。

https://www.jb51.net/article/134023.htm

コントロールパネルを開き、[システム]を選択します。

システムの詳細設定]をクリックし、[システムのプロパティ]で["環境変数"を選択します。 詳細設定]ページで"を選択します。

システム環境変数の中からJAVA_HOMEという変数を探し、ない場合は新規に作成します。

JAVA_HOMEの値をC: \Program FilesJavajdk1.7.0_03 に設定します。

この値は、JDKがインストールされているパスですので、インストールパスやバージョンに応じて、ご自身で変更してください。

ところで、いくつかの変数値を作成または変更します。

変数CLASSPATHに値を設定する
.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar

PATH変数の最後にセミコロンを追加し、C:³ FilesJava³³³.7.0_03³³ を追加します。
この値も、インストール先やバージョンに応じて、ご自身で変更してください。

特に、セミコロンは半角で、パスは前の値を上書きせず、最後に追加することに注意してください。

最後に、ずっと確認するだけです。CMDでjavacと入力すれば、動作するかどうか確認できます。

そして、Android SDKのインストーラーを再実行、右クリックの管理者として実行する必要があることに注意して、OK~~~~~。