环境变量 - 权限?夸克?错误?

时间:2011-12-09 17:15:57

标签: batch-file

我从批处理脚本中设置了一个环境变量:

reg add "HKEY_CURRENT_USER\Environment" /v TOOL_CHAIN_PATH /t REG_SZ /d C:\Users\MClarkson\Documents\svn\tool-chain /f

批处理脚本使用以下代码段以提升权限模式运行:

rem Make sure we are running in Administrator mode
reg add HKLM\Software\UDP\WindowsInstall\aad3a310a315f101030965e3da3e15b6 /v Elevated /t REG_DWORD /d 1 /f > nul 2>&1
if %ERRORLEVEL%==1 (
    echo You must run %~nx0 in elevated mode.  Right-Click and select 'Run as Administrator'
    echo.
    pause
    exit /b 740
)
reg delete HKLM\Software\UDP\WindowsInstall\aad3a310a315f101030965e3da3e15b6 /va /f > nul 2>&1

在脚本运行后打开cmd.exe时,我看不到环境变量:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\MClarkson>echo %TOOL_CHAIN_PATH%
%TOOL_CHAIN_PATH%

C:\Users\MClarkson>

但如果我以管理员身份打开cmd.exe

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>echo %TOOL_CHAIN_PATH%
C:\Users\MClarkson\Documents\svn\tool-chain

C:\Windows\system32>

我可以看到环境变量!!

我注意到我可以像普通用户一样运行原始reg add命令 - 似乎没有设置HKEY_CURRENT_USER的限制,然后我可以立即看到环境变量。

是否有更熟悉Windows的人知道普通用户无法在HKEY_CURRENT_USER中看到管理员设置的注册表项的原因?

有没有办法在无提升级别的提升批处理脚本中执行命令?

1 个答案:

答案 0 :(得分:1)

重新启动允许用户查看环境变量。这很烦人,因为这是一个如此简单的改变。