起動時に環境変数が読み込まれない


1

Windowsが起動するたびに環境変数が正しくロードされているように見えないという奇妙な問題に遭遇しています。これは実際に何が起こっているのかを理解するのに苦労したもので、私は運だけでそうしました。私はもともと、この問題に気付いたのですが、再起動または起動して標準のアプリケーションセットを起動しようとしたときです。特に、私はEclipseを立ち上げようとするでしょう、そしてそれは起動に失敗し、まるで私がJDKを持っていなかったかのように振る舞うでしょう。

これをトラブルシューティングしている間、私は自分の環境変数(具体的にはPath)をエコーし​​ようとしました、そして私は次のようになるでしょう:

C:\ Windows \ System32> echo%PATH%

C:\ Windows \ system32 \ NV;。

この時点で私は自分の環境変数をチェックし、それらは問題なく見えるでしょう。しばらくして、私はこのチェックを実行した後に、変数がちょうどうまくエコーすることに気付きました:

C:\ Windows \ System32> echo%PATH%

C:\ Program Files ... [多数のステートメント] ...; C:\ apache-maven-3.0.4 \ bin

私が集めたものから、環境変数に入ると、それらを強制的に再ロードまたは更新するようになります。起動時に環境変数がどのように読み込まれるのかはよくわかりませんが、このプロセスがうまくいかないようです。これは私の仕事用コンピュータであり、起動時に実行されるバックグラウンドスクリプトがたくさんあるので、これが原因の可能性があります。

誰かがここで何が起こっているのかについて何か考えがあれば私はフィードバックをいただければ幸いですが、誰かが起動時に手動でこれらの変数の更新を強制できる方法を知っているかどうか私は主に疑問に思いますか?環境変数が確実にロードされるようにするために、起動時またはいくつかの重要なアプリケーションの前で実行できる小さなスクリプトを作成します。ご意見ありがとうございます。


あなたはおそらく使用することができます setx PATHを希望通りに設定するためのバッチファイル。
martineau

回答:


0

いくつかに含まれているコマンドラインユーティリティがあります Windowsリソースキット 呼ばれる setx それはあなたが一時的なものの代わりに環境変数に永久的な変更を加えることを可能にします。それを設定するためにバッチファイルで使用することができます PATH あなたがそれになりたいものへの環境変数。


0

私は数ヶ月前に環境問題からライセンス情報を引き出すソフトウェアの一部でこの問題を抱えていたことを思い出します。私たちはUSERS変数を設定していましたが、何らかの理由でそれらは一貫していませんでした。私は新しいSYSTEM変数を作成することになりました(それは現在のユーザに基づいて変わることはありません)そして私たちはそれ以来問題を抱えていません。

あるいは、非常に単純なバッチファイルを作成してそれをStartUpフォルダに配置することもできます。

//コマンドウィンドウ内で設定された変数は、そのコマンドウィンドウインスタンス内でのみ存続します。

救助へのVBscript!

Set wshShell = CreateObject( "WScript.Shell" )
Set wshSystemEnv = wshShell.Environment( "SYSTEM" )

' Display the current value
' comment out to remove dialog box
WScript.Echo "MyVariable=" & wshSystemEnv( "MyVariable" )

wshSystemEnv( "MyVariable" ) = "MyNewValue" 
' WScript.Echo "MyVariable=" & wshSystemEnv( "MyVariable" )

' Delete the environment variable
' uncomment to enable
'wshSystemEnv.Remove( "MyVariable" )

Set wshSystemEnv = Nothing
Set wshShell     = Nothing

拡張子が* .VBSのファイルに保存します。


答えてくれてありがとう。上記のmartineauの解決策が私のために働いたので、私はこれを試しませんでした。それが機能するかどうかを確認するためだけに、後でこれを試してみることにします。
ggrigery
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.