%WinDir%と%SystemRoot%の違いは何ですか?


33

Windowsパスの場所の%Windir%と%Systemroot%の違いは何ですか?
どちらも「Windows」フォルダーの場所を示しています。

回答:


34

デイブ氏の答えを拡張するの%SystemRoot%は、組み込み変数です(それに加えてのような少数の一握りの他のものもあります%SystemDrive%)。つまり、実際HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environmentにはレジストリ内の環境変数ストアで定義されていません。

一方、%windir%は、通常の変数であり、変数ストアでとして定義されています%SystemRoot%。(に相当する「実変数」はありません%SystemDrive%。)

どちらを使用するかは重要ではありませんが、バッチファイルの変数の展開で問題が発生する可能性があります。その場合は、もう1つを試すことができます。(これに特に問題があることは覚えていませんが、覚えておく価値があります。)

さらに、%SystemRoot%(および%SystemDrive%)はインストールプロセス中に設定され(インストール先ドライブを選択した場合)、したがってWindows %windir%のインストール中の最も早い時点から使用できますが、インストール中に後の時点で設定されますので、カスタムインストールの種類(OEM、PEなど)を使用する場合%SystemRoot%


それで、インストール後に%windir%が構築されましたか?
アミレザ・ナシリ

2
いいえ、インストール中ですが、の後%SystemRoot%です。Windowsがセットに十分な情報を持っているSystemDriveSystemRoot、すぐにあなたがそれをインストールするドライブを選択して(プラスあなたは目的地を変更しない場合は、デフォルトを使用しています)。windirレジストリの初期化時に、インストールの後半でいくつかのデフォルト環境変数(を含む)を設定します。これは、インストールプロセスを変更する場合にのみ重要です。
Synetech

その場合、もう一方を試すことができます。もう1つはであると思い%windir%ます。あれは正しいですか?
ルネNyffenegger

28

Win 7 %SystemRoot%では、読み取り専用のシステム変数です%windir%が、変更でき、デフォルトでとして設定されますwindir=%SystemRoot%。OSはに依存してい%SystemRoot%ます。ウィキペディアによると、%WinDir%Windows NT より前の日付であり、に取って代わられたよう%SystemRoot%です。


1

楽しい事実-(Windows 10 1809の場合)%windir%は非常に重要なので、それなしでは昇格したものを実行することはできません...つまり、環境変数レジストリにアクセスするには明らかに昇格が必要なため、実際にそれを戻すことができません...幸いなことにセーフモードにより、その変数を復元してトラックインを続けることができました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.