%SystemRoot%环境变量包含指向Windows目录的路径。(例如c:\windows)
SystemRoot不是在Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment中配置的,而是自动设置的。
现在,通常在Windows 10上,这个目录在NTFS磁盘上有大写的C:\Windows。
在脚本测试(*)崩溃后,我们注意到:
具有相同操作系统版本的Windows 10 (LTSC 1809年17763.3887)有些框使用%SystemRoot% == C:\WINDOWS (大写,尽管磁盘上的目录是C:\Windows)。一些盒子使用%SystemRoot% == C:\Windows (磁盘上dir的情况)我们与ProcessExplorer交叉检查:大小写差异已经存在于wininit.exe进程的环境块中,因此它不会在某个地方被覆盖。Q:是否从任何特定注册表项读取SystemRoot值的基?
有什么可以解释这种差异呢?
(*):要明确的是,测试无论如何都被打破了--你不应该依赖Windows上的路径外壳。