答案1
在 Windows 台式电脑(例如 Windows 10)上评估此变量可能不会在末尾产生数字,而在远程桌面服务器或任何 Windows 服务器上执行相同操作时,您将看到出现数字(示例中为 3)。
事实证明,可以在多个地方设置这些变量:
- 系统级别-服务器/PC默认
- 用户级别 - 为用户覆盖上述内容
- 进程级别 - 为单个进程覆盖上述内容(在 Linux 中更常见,但显然在 Windows 中也可以)
不太为人所知的是“易失性变量”,它在注册表“HKCU\VolatileEnvironment”中配置。这似乎会导致附加一个与您的会话编号相关的数字,但令人惊讶的是,它与任务管理器中您帐户的会话编号不同。这个想法显然是为了让您可以在单个主机上进行多个会话而不会发生临时位置冲突。您可以使用此组策略设置关闭此动态临时文件夹设置:
- Windows 组件/远程桌面服务/远程桌面会话主机/临时文件夹
此信息归功于Rakhesh.com
答案2
您在系统属性窗口和注册表中看到的内容实际上并不是环境变量,它们是用于创建每个进程环境的模板,这些环境仅存在于内存中。命令提示符将显示 cmd.exe 进程的特定实例中当前存在的内容,这些内容可能与其他进程或注册表中的内容相符,也可能不相符。显然,某些东西正在或已经修改了您正在显示的命令提示符进程的环境变量。