it-swarm.cn

如何在不注销的情况下修改用户的PATH环境变量?

这个问题几乎说明了一切。我有一些用户无权编辑自己的PATH环境变量,如果由于某种原因需要对其进行修改,则需要注销,以便管理员可以登录并更改PATH,然后用户再次登录。这不理想。可以用更好的方法吗?

24
ninesided

您始终可以调用具有管理员权限的cmd Shell(或任何其他runas方法),并使用 [〜#〜] setx [〜#〜] 之类的工具来永久修改路径。现有的Shell和/或正在运行的程序可能会使用旧路径,但是任何新的Shell /程序都将使用新设置。

6
Berzemus

对于没有管理员权限的帐户:

打开“用户帐户”,然后选择“更改我的环境变量”( http://support.Microsoft.com/kb/931715 )。

该对话框将显示您当前的用户变量以及系统变量。如果尚未添加本地PATH变量,则可能需要添加。

例如,要更新您的路径以包含Python= 3.3目录,请单击“新建”:

变量名称:PATH变量值:%PATH%; C:\ Python33

这将通过获取当前系统PATH并将其添加到本地来创建本地PATH。

25
Curtis Nelson

我的电脑/属性/高级/环境变量。更改立即生效除外对于已打开的命令提示窗口。无需注销并重新登录。

注意:如果您无权访问该窗口,则可以通过运行rundll32 sysdm.cpl,EditEnvironmentVariables从运行窗口或命令行。

11
John Gardeniers

在命令提示符中,您可以执行以下操作:

set PATH=C:\somedir;%PATH%

但这只会针对命令提示(以及从命令提示启动的所有应用)进行更改。假设您希望将此方法应用于用户所做的所有事情,那么您将更改用户环境变量。右键单击“我的电脑”,“属性”,“高级”,“环境”变量,然后在“用于添加变量的用户变量”中:

PATH = C:\whatever

当用户登录时,它将被添加到系统范围的路径中。

4
John Rennie

即使用户没有“管理员”权限,用户也可以在命令提示符处设置PATH变量,该变量将覆盖系统范围的PATH变量。更改将对用户从该命令提示启动的新进程生效。 (进行更改时,现有的Explorer进程以及用户正在运行的任何其他进程将不会“看到”更改。)

2
Evan Anderson

除了上述答案外,您还可以更新注册表(其优点是可编写脚本):

PATH变量存储在HKEY_CURRENT_USER\Environment中。

读取当前路径:

reg query HKEY_CURRENT_USER\Environment /v PATH

要将值c:\ somedir附加到路径:

reg add HKEY_CURRENT_USER\Environment /v PATH /d "%PATH%;c:\somedir"

请注意,进程在启动时会读取环境,因此您必须重新启动进程才能获取新路径。

更新:我发现的另一种方法是运行:

rundll32 sysdm.cpl,EditEnvironmentVariables

同样,此小程序编辑注册表并具有与上述相同的效果。

1
Kristopher Noronha