为什么SET命令列出的环境变量比环境变量窗口多



Windows为我们提供了一个图形用户界面(GUI),我们可以在其中查看可用的环境变量,这些变量可以在Config App>系统>关于>高级系统设置>环境变量。在那里我们可以看到系统和用户环境变量。

目前它可能显示以下用户变量:

  • 路径
  • 温度
  • TMP
  • PATHEXT
  • OneDrive

系统变量如下:

  • ComSpec
  • 驱动程序数据
  • OS
  • 路径
  • PATHEXT
  • PROCESSOR_体系结构
  • PS模块路径
  • 温度
  • TMP
  • 用户名
  • windir
  • 处理器数量
  • 处理器级别
  • 处理器标识符
  • 处理器_视觉

考虑到CMD的实例将接收其父进程的环境块的副本——我想最初是Windows本身——我希望它拥有这些变量的精确副本,仅此而已。然而,当我运行SET命令时,会有更多的环境变量,而不仅仅是上面列出的那些。

";额外的";显示的变量:

  • ALLUSERSPROFILE
  • APPDATA
  • CommonProgramFiles
  • CommonProgramFiles(x86)
  • 通用程序W6432
  • 计算机名
  • FPS_BROWSER_APP_PROFILE_STRING
  • FPS_BROWSER_USER_PROFILE_STRING
  • HOMEDRIVE
  • 归路
  • LOCALAPPDATA
  • 登录服务器
  • 程序数据
  • 程序文件
  • 程序文件(x86)
  • 程序W6432
  • 提示
  • 公众
  • 会话名称
  • 系统驱动器
  • SystemRoot
  • 用户域
  • 用户域漫游配置文件
  • 用户配置文件

为什么SET命令显示的变量比GUI显示的变量多?SET列出的其他环境变量在哪里?

登录时,winlogon.exe(旧NT中的GINA)加载用户配置文件并初始化基本环境,然后启动userinit.exe,在userinit启动Explorer之前,它会运行登录脚本并更新环境。USERNAME和COMPUTERNAME当然是特定于用户和机器的。像APPDATA这样的东西来自用户shell文件夹路径。

相关内容

  • 没有找到相关文章

最新更新