WindowsのPATH環境変数へのディレクトリの追加

Windowsでシステムの環境変数「PATH」に「C:̶̶̶̶̶̶̶̶̶̶̶̶」を追加しようとしています。

環境変数のダイアログボックスを使ってすでに追加しています。

しかし、コンソールに入力すると

C:\>path

と入力しても、新しいC:xampp\phpディレクトリは表示されません。

PATH=D:\Program Files\Autodesk\Maya2008\bin;C:\Ruby192\bin;C:\WINDOWS\system32;C:\WINDOWS;
C:\WINDOWS\System32\Wbem;C:\PROGRA~1\DISKEE~2\DISKEE~1\;c:\Program Files\Microsoft SQL
Server\90\Tools\binn\;C:\Program Files\QuickTime\QTSystem\;D:\Program Files\TortoiseSVN\bin
;D:\Program Files\Bazaar;C:\Program Files\Android\android-sdk\tools;D:\Program Files\
Microsoft Visual Studio\Common\Tools\WinNT;D:\Program Files\Microsoft Visual Studio\Common
\MSDev98\Bin;D:\Program Files\Microsoft Visual Studio\Common\Tools;D:\Program Files\
Microsoft Visual Studio\VC98\bin

2つの質問があります。

1.なぜこのようなことが起こったのでしょうか?何か間違ったことをしたのでしょうか? 2.また、コンソールを使って(プログラム的にはバッチファイルを使って)、PATH変数にディレクトリを追加するにはどうしたらいいですか?

オプション1

GUIでPATHを変更した後、コンソールウィンドウを閉じて再度開いてください。

この方法では、変更後に起動したプログラムだけが新しい PATH を見ることができるので、うまくいきます。

オプション2

開いているコマンドウィンドウでこのコマンドを実行します。

set PATH=%PATH%;C:\your\path\here\

このコマンドは、現在の PATHC:your\\\ を追加します。

それを分解すると

  • set`](https://ss64.com/nt/set.html) - cmd'の環境変数を 現在の cmd セッションのみ 変更するコマンドで、他のプログラムやシステムは影響を受けません。
  • PATH=- 一時的に変更される環境変数がPATHであることを示します。 これが新しいPATH`になります。
解説 (11)

警告:この解決策は、あなたのPATHとシステムの安定性を破壊する可能性があります。副作用として、ユーザーとシステムのPATHが統合され、PATHが1024文字に切り詰められてしまいます。このコマンドの効果は元に戻りません。まずPATHのバックアップを取ってください。詳細については、コメントを参照してください。

やみくもにコピー&ペーストしないでください。注意して使ってください。

setx](https://ss64.com/nt/setx.html)コマンドで、PATH`にパスを 永久的に 追加することができます。

setx /M path "%path%;C:\your\path\here\"

システムのPATHではなく、ユーザーのPATHを設定したい場合は、/Mフラグを外してください。

注意事項

  • setx コマンドは Windows 7 以降でのみ使用可能です。

  • このコマンドは、昇格したコマンドプロンプトから実行する必要があります。

  • 現在のセッションでのみ変更したい場合は、setを使用してください。

解説 (11)
ソリューション

これはレジストリを変更するだけです。 既存のプロセスはこれらの値を使用しません。新しいプロセスは、この変更後に起動され、親から古い環境を継承していなければ、使用できます。

コンソールセッションの開始方法が指定されていません。 これを確認する最善の方法は、コマンドシェルを終了して再度実行することです。そうすれば、更新されたPATHが継承されるはずです。

解説 (6)