ドラッグ アンド ドロップ または 引数として指定したフォルダを環境変数の PATH へ追加する bat ファイル

環境変数へ PATH を設定するのは慣れないとちょっと面倒です。また、自動実行中に行ってしまいたいこともあるでしょう。今回はディレクトリ を bat ファイルに ドラッグ アンド ドロップ するだけで、PATH に追加出来る bat ファイルを作成しました。この bat ファイルは引数としてフォルダを指定する利用もできます。

今回の bat で設定されるのは、ユーザーの環境変数です。SetX に パラメータ /m をつければシステム全体の環境変数にも登録可能なのです。しかし、管理者権限が必要で ドラッグ アンド ドロップだけでは完結しないので、本記事の対象外ですが「おまけ」として記載していますのでよかったら参考までに見ていってください。

スポンサーリンク

環境変数(PATH)を設定する bat ファイル

bat ファイルは以下の様に記述しています。2 行目から 12 行目までは、エラーチェックです。14 行目で現在ユーザー環境変数のPATHを取得をおこない、15 行目ですでに登録されている PATH のチェックをしています。21 行目で環境変数へ登録をしています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@echo off
set dirName=%1
IF "%dirName%" == "" (
  echo フォルダをドラッグしてください。
  echo.
  goto fin
)
if not exist %1\ (
  echo フォルダをドラッグしてください。
  echo.
  goto fin
)

FOR /F "TOKENS=1,2,*" %%I IN ('REG QUERY "HKEY_CURRENT_USER\Environment" /v "path"') DO IF "%%I"=="path" SET USERPATH=%%K
echo "%USERPATH%" | find "%dirName%" >NUL
if not ERRORLEVEL 1 goto nop

:setpath

echo %dirName% を ユーザー環境変数(PATH)に追加します。
echo.
setx path "%dirName%;%USERPATH%"
goto fin

:nop

echo %dirName% はすでに、ユーザー環境変数(PATH)に追加されています。
echo.

:fin

pause

ダウンロード

上記の bat をコピペで利用してもらうか、以下からダウンロードできます。

ダウンロードしたzip を適当なところに解凍してください。解凍した setpath.bat に指定したいフォルダを ドラッグ アンド ドロップしてください。

本プログラムを利用して生じた、いかなる損害も当方は一切の責任を負わないものとします。

パス設定 bat ファイル

実行結果

このバッチファイルに、設定したいフォルダをドラッグ アンド ドロップするだけです。実行結果は以下の様になります。

成功結果:

失敗結果(すでに登録済み):

失敗結果(ファイルをドラッグ/ダブルクリック):

おまけ

システムの環境変数の設定として利用したい場合は、以下の様に変更してコマンドプロンプトを管理者権限で立ち上げて、本 bat への引数としてパスを指定すればよいです。
具体的には、14行目のチェックと21行目の SetX の引数が変わっています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@echo off
set dirName=%1
IF "%dirName%" == "" (
  echo フォルダを指定してください。
  echo.
  goto fin
)
if not exist %1\ (
  echo フォルダを指定してください。
  echo.
  goto fin
)

FOR /F "TOKENS=1,2,*" %%I IN ('REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "path"') DO IF "%%I"=="path" SET SYSPATH=%%K
echo "%SYSPATH%" | find "%dirName%" >NUL
if not ERRORLEVEL 1 goto nop

:setpath

echo %dirName% を ユーザー環境変数(PATH)に追加します。
echo.
setx path /m "%dirName%;%SYSPATH%"
goto fin

:nop

echo %dirName% はすでに、ユーザー環境変数(PATH)に追加されています。
echo.

:fin

pause