SKY-OUTPUT

メーカー子会社勤務のSEがガジェットレビューや仕事で学んだこと、ライフスタイルについて書くブログ。システム開発関係の記事では丁寧に解説していきます。最近はバッチばかり作ってる。

環境変数作成バッチ・環境変数Pathにパス追加バッチ

利用シーンがなかなか見当たらないですが、環境変数を作成するまたはPathに値を追加するバッチを作りました。

今のプロジェクトでJavaを使用するバッチを提供したところ、一人だけJAVA_HOME未設定の人が居て、バッチの実行がうまくいかなかったことがありました。

そこでJAVA_HOMEもバッチ内で作る処理を入れておけばエラーもなく実行できたと思い、このバッチを作るに至ったわけです。  

ちなみにこのバッチでエラーが出ました。

www.sky-blog.work

 

ソースコード

@echo off
setlocal

rem 環境変数名
set ENVIRONMENT_VARIABLE=Work
rem 環境変数にセットするパス
set NEW_PATH=C:\Work echo 環境変数の追加方法を選択してください echo 登録する環境変数:%ENVIRONMENT_VARIABLE% echo 登録する環境変数の値:%NEW_PATH% echo ユーザーに新規作成 :1 echo ユーザーのPathに追加:2 echo システムに新規作成 :3 echo システムのPathに追加:4 set /p p="> " If %p%==1 ( SETX %ENVIRONMENT_VARIABLE% "%NEW_PATH%" ) else if %p%==2 ( SETX Path "%Path%;%NEW_PATH%" ) else if %p%==3 ( SETX /M %ENVIRONMENT_VARIABLE% "%NEW_PATH%" ) else if %p%==4 ( SETX /M Path "%Path%;%NEW_PATH%" ) PAUSE

 

解説

ENVIRONMENT_VARIABLEには新規作成したい環境変数名を入れます。

NEW_PATHには環境変数のパスを入れます。

管理者権限で実行する必要があります。

環境変数を作成するコマンドは、SETXコマンドです。このままだとユーザーの環境変数として追加されます。

/Mを追加すると、システムに追加となります。

環境変数Pathにも追加できれば良いなと思い、選択肢2と4を用意しました。

処理内容として、環境変数Pathに、Pathの値と;と新規追加したいパスを合体させているだけです。

 

更新履歴

2019年5月18日:初版