【Windows】バッチ(bat)でpath環境変数を追加設定する方法

パス環境変数を設定しておくと、インストールしたプログラムをコマンドラインや別のプログラムから利用できるようになります。ただちょっと面倒くさい。
そこで、バッチ処理で簡単にパス環境変数を追加する方法をご紹介します。

やること
・バッチファイルの作成
・バッチ実行してpath環境変数を追加設定する

さらに応用としまして、次もご紹介します。
・応用編_対話形式でpath環境変数を追加設定する

それでは、順に見ていきましょう!

目次

バッチファイルを作成する

バッチファイルを新規作成します。
例では、add_system-path.batとしました。
ファイル名は何でも良いです。

@echo off
setlocal enabledelayedexpansion

rem 現在の PATH 変数を確認し、既存のパスを格納します
set "EXISTING_PATH="
for %%i in ("%PATH:;=" "%") do (
    set "EXISTING_PATH=!EXISTING_PATH!;%%i"
)

rem 追加したい環境変数のパス
set "TOOL_PATH=C:\Program Files\7-Zip"

rem 追加したい環境変数が既に登録されているか確認します
echo %EXISTING_PATH% | find "%TOOL_PATH%" > nul
if errorlevel 1 (
    rem 登録されていない場合、環境変数を追加します
    if not "%PATH:~0,1%" == ";" set "PATH=;%PATH%"
    setx PATH "%PATH%;%TOOL_PATH%" /M
    echo The tool's path has been added to the PATH environment variable.
) else (
    echo The tool's path is already added to the PATH environment variable.
)

endlocal

pause

set "TOOL_PATH=C:\Program Files\7-Zip"部分が設定したいパス環境変数です。

この例では、C:\Program Files\7-Zipを追加設定します。

バッチ実行してpath環境変数を追加設定する

それでは作成したバッチファイルを実行してみましょう。
管理者権限で実行します。

無事実行できるとこのようになります。

環境変数が追加されたか確認してみましょう。
Windowsの設定から確認するか、こちらの方法でバッチファイルから確認してみましょう。

path環境変数の一覧の中に、新たに設定した変数が見つかればOKです。

ちなみに、既に環境変数に登録済みの場合は、次のメッセージが表示されます。

応用編_対話形式でpath環境変数を追加設定する

応用編として、path環境変数を対話形式で設定して、追加設定するバージョンをやってみたいと思います。
サンプルコードは次です。
同様にバッチファイルを作成して、下記を記述します。

@echo off
setlocal enabledelayedexpansion

rem 現在の PATH 変数を確認し、既存のパスを格納します
set "EXISTING_PATH="
for %%i in ("%PATH:;=" "%") do (
    set "EXISTING_PATH=!EXISTING_PATH!;%%i"
)

rem ユーザーから追加したいパスを入力してもらう
set /p TOOL_PATH=Enter the path you want to add to the PATH environment variable:

rem 追加したい環境変数が既に登録されているか確認します
echo %EXISTING_PATH% | find "%TOOL_PATH%" > nul
if errorlevel 1 (
    rem 登録されていない場合、環境変数を追加します
    if not "%PATH:~0,1%" == ";" set "PATH=;%PATH%"
    setx PATH "%PATH%;%TOOL_PATH%" /M
    echo The path has been added to the PATH environment variable.
) else (
    echo The path is already added to the PATH environment variable.
)

endlocal

pause

set /pコマンドを使って登録するパス環境変数を自由入力としています。
予め記述する場合と一長一短がありますが、こちらの方が有用なケースもあることでしょう。

実行するとpath変数を入力する画面になります。
所望のパス変数をコピペなどで入力すると、パスに追加設定してくれます。

これで、無事にpath環境変数を追加設定することができました。

システム設定からも設定できますが、このようにバッチファイルにしておけば応用ができるようになります。
他のユーザーに実行して貰いやすくなりますし、
久々にやるときでも、パス変数だけ変えれば応用できます。
バッチファイル化することで、他の処理から呼び出すことも可能です。
是非、試してみてはいかがでしょうか。

今回は以上となります。
この記事が少しでもお役に立てれば幸いです。
それでは、読んで頂きありがとうございました!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次