Windows で JDK のインストール先を取得

Windows にJDK を入れた時のインスートル先のディレクトリというのは、バージョンによって変わる。これを機械的に取得したい。

環境変数の類は設定されない(公式のマニュアルに、手動で設定する方法が書かれてるくらいだし)ようだが、レジストリを見ればパスを取得できる。

Stack Overflow の質問にはreg コマンドを使った回答が付いているが、Windows の場合こういうのはバッチファイルで書くよりもWSH を使った方が文字列処理等がすっきりするだろう。

というわけで書いてみた。

var WshShell = WScript.CreateObject("WScript.Shell");var JDKKey = "HKLM\\SOFTWARE\\JavaSoft\\Java Development Kit\\";var CurrentVersion = WshShell.RegRead(JDKKey + "CurrentVersion");var JavaHome = WshShell.RegRead(JDKKey + CurrentVersion + "\\JavaHome");var JDKBin = JavaHome + "\\bin";WScript.Echo(JDKBin);

このファイルを例えばshowjdkpath.js という名前で保存して、CScript /nologo showjdkpath.js と実行すれば、標準出力に javac の場所が出てくる。

コメントを残すコメントをキャンセル

メールアドレスが公開されることはありません。 が付いている欄は必須項目です