LoginSignup
0
0

More than 1 year has passed since last update.

環境変数を設定するバッチファイル(自身を書き換える)

Posted at

きっかけ

Bitnami Redmineをインストールすると、インストール先にuse_redmine.batというバッチファイルが出来る。これを起動すると、Ruby関連の環境変数が設定された状態でプロンプトが起動する。便利じゃんと思ったので、自分の業務用にも作った。

業務ではJava/Mavenを使うことが多い。担当する業務ごとに JavaランタイムやM2のインストールパスが異なることがある。開発者によっても使っているバージョンが異なる場合もある。コマンドプロンプトを起動して環境設定するのが面倒なので、設定を1回で済ませるバッチプログラム(バッチファイル自身を書き換える)を書いた。

バッチの流れ

  1. プロンプトを起動すると以前に設定した環境変数を読み込む(初回起動時はブランクになる)
  2. 設定がブランクな環境変数の設定を促して、当該ファイルの末尾に設定を追加する
  3. 改めて設定した環境変数を読み込む
  4. PATHを設定して、新たなプロンプトを開始する

書いたバッチ

@echo off
rem Load pre configured setting.
call :SET_PATH

if not exist "%JAVA_HOME%" (
  call :INPUT_JAVA
)
if not exist "%M2_HOME%" (
  call :INPUT_M2
)
rem Load configured setting.
call :SET_PATH
set path=%JAVA_HOME%\bin;%M2_HOME%\bin;%path%

rem Start new prompt in current folder.
cd /d "%~dp0"
start color F0 ^& echo JAVA_HOME=%JAVA_HOME% ^& echo M2_HOME=%M2_HOME%  ^& echo. ^& %mvn -version

exit /b
rem --------------------------------------------------
:INPUT_JAVA

set JAVA_INSTALL_DIR=
echo Input java install directory path.
set /P JAVA_INSTALL_DIR=

if not exist "%JAVA_INSTALL_DIR%" (
    echo The path is not exist.
    pause
    exit
)

echo set JAVA_HOME=%JAVA_INSTALL_DIR%>>"%~dp0%~nx0"

exit /b

rem --------------------------------------------------
:INPUT_M2

set MAVEN_INSTALL_DIR=
echo Input maven install directory path.
set /P MAVEN_INSTALL_DIR=

if not exist "%MAVEN_INSTALL_DIR%" (
    echo The path is not exist.
    pause
    exit
)

echo set M2_HOME=%MAVEN_INSTALL_DIR%>>"%~dp0%~nx0"

exit /b

rem ------------------------------------------------------------
:SET_PATH
set JAVA_HOME=
set M2_HOME=

rem User settings are written bellow.

実行例

最初に起動したバッチプロンプト(2回目以降は入力を求められない)

Input java install directory path.
C:\ProjectX\pleiades\java\8
Input maven install directory path.
C:\ProjectX\bin\apache-maven-3.5.2

次に起動するバッチプロンプト

JAVA_HOME=C:\ProjectX\pleiades\java\8
M2_HOME=C:\ProjectX\bin\apache-maven-3.5.2

Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T16:58:13+09:00)
Maven home: C:\ProjectX\bin\apache-maven-3.5.2\bin\..
Java version: 1.8.0_202, vendor: Oracle Corporation
Java home: C:\ProjectX\pleiades\java\8\jre
Default locale: ja_JP, platform encoding: MS932
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

C:\ProjectX>

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0