因为最近老遇到桌面位置被流氓软件篡改,想修复,就看到%USERPROFILE%这样的系统变量,想查查这东西是怎么定义的。一般,这些系统变量是按用户配置,保存于注册表,要找到它们的值 ,就要看是什么用户,可以用以下命令来查用户对应的SID:wmic useraccount get name,sid,然后到注册表里找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList,下面就是对应不同用户的SID,选择对应的SID,在右边的ProfileImagePath就是这个%USERPROFILE%的路径,用命令set也能看到,不过set看到是所有的系统变量的值,可以用set | find “USERPROFILE"或者set | findstr USERPROFILE,就能查看到特定的系统变量的值,find与findstr的区别就是,后者是前者的增强版,后者要找的字符串可加也可不加引号。