コマンドプロンプトでコマンドを実行すると、set
最初に表示される変数は
しかし、環境変数GUIを開いても、ALLUSERSPROFILE
set
それはなぜでしょうか? GUI に表示されない他の変数も多数リストされています。それらはすべて同じ情報を表示するべきではないでしょうか?
答え1
少し試行錯誤した後、次の環境変数がSET
Windows 8.1 システムで報告される追加の環境変数であることがわかりました。
ALLUSERSPROFILE
APPDATA
COMPUTERNAME
CommonProgramFiles
CommonProgramFiles(x86)
CommonProgramW6432
HOMEDRIVE
HOMEPATH
LOCALAPPDATA
LOGONSERVER
PROMPT
PUBLIC
ProgramData
ProgramFiles
ProgramFiles(x86)
ProgramW6432
SESSIONNAME
SystemDrive
SystemRoot
USERDOMAIN
USERDOMAIN_ROAMINGPROFILE
これらはすべて Windows によって自動的に生成および更新されるものと思われます。そのため、Windows レジストリのどこにもそれらのいくつかがリストされていないと考えられます。
私は知っていますHOMEDRIVE
、HOMEPATH
そしてHOMESHARE
自動的に更新からこのTechNetフォーラムの投稿。
変数を(デフォルト)PROMPT
以外のものに 永続的に変更しようとしたところ、新しい 環境変数が作成されたことに気付きました。$P$G
SETX
PROMPT
<ユーザー名> のユーザー変数
環境変数 GUI のセクション。
その変数を削除すると、プロンプトは にリセットされました$P$G
。環境変数でも同じ動作が見られましたCOMPUTERNAME
。以下についても同様です。
CommonProgramFiles
CommonProgramW6432
PROCESSOR_ARCHITECTURE
ProgramFiles
ProgramW6432
答え2
によるとSS64.com(Autoexec.batセクション)これらの変数は起動時変数は「32 ビット GUI プログラムでは利用できません」。Windows XP 以降では、起動時の環境変数は次のレジストリで設定する必要があります。
HKEY_CURRENT_USER\Environment
(USER環境変数)または:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
(システム環境変数)
に示すようにマイクロソフトのKB