WINDIR環境変数はC:\windowsではなく%SystemRoot%に解決されます。

WINDIR環境変数はC:\windowsではなく%SystemRoot%に解決されます。

以前、WINDIR作業していたレガシー プログラムで何かをテストするために環境変数を手動で変更しました (デスクトップではなく VM でこれを行うべきでしたが、もう遅すぎます)

そのため、何らかの理由で%WINDIR%c:\windows ではなく %SystemRoot% に解決されるようになりました。コマンド ラインから:

echo %WINDIR% outputs %SystemRoot%

そして

echo %SystemRoot% outputs C:\windows

WINDIRを解決できないことが、私にさまざまな頭痛の種をもたらしています。コンソールウィンドウが提供する値をWINDIR明示的にに設定しようとしましたc:\windowsが、効果はありませんでした。また、windirレジストリキーの値を手動で変更しようとしました。

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\windier

そして

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Environment\windir

しかし、まだ運が悪い。これまでにこの動作を見た人はいますか?

これは Windows 7 Enterprise Edition 上にあることを忘れていました

答え1

として持っている値のタイプを確認してください。おそらく、誤って からWindirに変更したのでしょう。レジストリで直接行う必要があります (GUI パネルでは違いは表示されません)。 REG_EXPAND_SZREG_SZ

レジストリ エディターを起動し、 に移動しますHKEY_LOCAL_MACHINE\system\currentControlSet\Control\Session Manager\Environment。の種類が である
ことを確認します。 そうでない場合は、エントリを次のように再作成します。 windirREG_EXPAND_SZ
windir REG_EXPAND_SZ %SystemRoot%

ログオフ/ログオンして動作するか確認する

答え2

修正!%SystemRoot%デフォルト値したがって、この変数はシステム内で正しく設定されています。

ここに画像の説明を入力してください

右クリックコンピューター - 設定 - 詳細システム設定 - 詳細 - 環境変数そのウィンドウの2番目の部分(環境変数の下)で変数を見つけることができますウィンディールを指しています%systemroot%に変更します%SystemRoot%(デフォルト値)に設定し、それでもエラーが発生するかどうかをテストします。

関連情報