システムまたはユーザー固有の環境変数を設定する方法を知っています。
ここで問題となるのは、PATH
変数が、ユーザーPATHに入力した値が自動的にに追加されるように処理されることです。システムPATHとそれが有効なPATH変数になります。
つまり、私が持っていると言う
(システム)PATH=C:\Windows\System32;C:\Program Files\Foo\bin;...
および(USER)PATH=C:\Program Files\Bar\bin
(この値には%PATH%
がないことに注意してください)
この場合、このユーザーの結果の環境変数は次のようになります。
(有効)PATH=C:\Windows\System32;C:\Program Files\Foo\bin;...;C:\Program Files\Bar\bin
ただし、非常に特定のOSユーザーアカウントの場合、PATH環境変数にはPATHの最後ではなく最初にbar\bin
directoryを含める必要があります。
システムに追加するのではなく、ユーザーのPATH
変数をそのユーザーの値で完全に上書きするようにWindowsに指示する適切な方法はありますかPATH
variable?
注:明らかに、バッチファイルからは、env.varsを好きなように設定および微調整できるため、これはすべて重要ではありません。
これがコマンドプロンプトセッションでのみ機能する必要がある場合は、プロファイル/初期化バッチファイルを作成し、レジストリで構成します。 https://stackoverflow.com/questions/17404165/how-to-run-a -command-on-command-Prompt-startup-in-windows 。例えば。、
reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun ^
/t REG_EXPAND_SZ /d "%"USERPROFILE"%\init.cmd" /f
次に、そのバッチファイルのPATHを変更します。例えば。、
SET USER_PATH=c:\whatever
SET PATH=%USER_PATH%;%PATH%
私は同じ問題を抱えていました、そしてこれは私のために働きました:
「ユーザーパス変数」は次の方法で取得できます。
>reg query HKCU\Environment /v path
(私のマシンでの)出力は次のとおりです。
HKEY_CURRENT_USER\Environment
path REG_SZ C:\Program Files (x86)\GnuWin32\bin
ただし、これを解析して、関連する部分を使用する必要があります。
私はここで解決策を読みました ここ そして私のマシンでテストしました。