PATH环境变量在cmd和系统属性中是不同的

时间:2016-07-05 14:45:45

标签: windows path environment-variables

我遇到了PATH环境变量的问题。如果我查看系统属性中的环境变量中的PATH,我会得到这个(为可读性添加新行):

C:\app\User\product\11.2.0\dbhome_1\bin;C:\Python34\;C:\Python34\Scripts;
C:\Program Files\Common Files\Microsoft Shared\Windows Live;
C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Windows Live\Shared;C:\Program Files(x86)\CMake\bin;
C:\Program Files\Microsoft\Web PlatformInstaller\;
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;
C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;
C:\Program Files (x86)\Livestreamer;C:\Program Files (x86)\Git\cmd;
C:\MinGW\bin;C:\Program Files (x86)\Skype\Phone\;
C:\Program Files\Haskell Platform\7.10.3\mingw\bin;
C:\Program Files\Microsoft Network Monitor 3\;
C:\Program Files\Java\jdk1.8.0_20\bin;C:\Users\User\Anaconda3;
C:\Users\User\Anaconda3\Scripts;C:\Users\User\Anaconda3\Library\bin;
C:\Users\User\Anaconda\Lib\site-packages;C:\gradle\bin

但是如果我使用“运行”对话框打开cmd并编写PATH,我会得到:

PATH=C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Haskell\bin;C:\Program
 Files\Haskell Platform\7.10.3\lib\extralibs\bin;C:\Program Files\Haskell Platfo
rm\7.10.3\bin;C:\gurobi605\win64\bin;C:\Perl\site\bin;C:\Perl\bin;C:\app\User\pr
oduct\11.2.0\dbhome_1\bin;C:\Python34\;C:\Python34\Scripts;C:\Program Files\Comm
on Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Micro
soft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live
\Shared;C:\Program Files(x86)\CMake\bin;C:\Program Files\Microsoft\Web Platform
Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\P
rogram Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program File
s (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files (x86)\Microsoft SQL Serv
er\120\DTS\Binn\;C:\Program Files (x86)\Livestreamer;C:\Users\User\AppData\Roami
ng\npm;C:\Program Files (x86)\Git\cmd;C:\MinGW\bin;C:\Program Files\Microsoft SQ
L Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\1
10\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\Program Fi
les (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program Files
 (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Skype\Phone\;
C:\Program Files (x86)\MiKTeX 2.9\miktex\bin\;C:\Program Files\Haskell Platform\
7.10.3\mingw\bin;C:\Program Files\Microsoft Network Monitor 3\

我可以以某种方式使它们相同吗?我需要在系统属性中使用PATH,而不是命令行中的PATH。

我尝试使用set PATH="(new path)"在命令行中更改路径,但这只会暂时更改它。如果我关闭并打开一个新的控制台窗口,它会回头。

我也试过setx PATH "(new path)",但它也没有改变任何东西。

我正在使用Windows 7家庭高级版64位

2 个答案:

答案 0 :(得分:0)

这是因为变量PATH具有不同的范围,因此可以具有不同的内容。这些范围是usermachinesetx设置用户变量(HKEY_CURRENT_USER),但如果添加开关/m,则系统会设置这些变量(HKEY_LOCAL_MACHINE)。

系统属性显示user范围变量内容,而echo %PATH%显示系统范围内容。

如果您想永久保留相同的内容,可以按照here所述使用PowerShell。

答案 1 :(得分:0)

Windows中有两种类型的变量。用户变量和系统变量。你可以看到和编辑它。打开“系统属性”,打开“高级”选项卡,单击“环境变量”按钮。刚刚补充说你需要正确的变量区吗?