2016-07-05 181 views
0

我遇到了PATH環境變量的問題。如果我看PATH在系統屬性中的環境變量,我得到這個(爲便於閱讀,添加新行):PATH環境變量在cmd和系統屬性中不同

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位

+0

你是問他們是否在內容上有差異,或者如何在CMD中的分號之後加上分號? –

+0

我想知道如何使它們相同。無法弄清楚如何永久更改cmd PATH。它在帖子中提到。無論如何已經解決了。 – devil0150

回答

1

這是因爲變量PATH具有不同的範圍,因此可以有不同的內容。這些示波器是usermachinesetx設置用戶變量(HKEY_CURRENT_USER),但是如果添加開關/m,則將在系統範圍內設置這些變量(HKEY_LOCAL_MACHINE)。

系統屬性顯示user範圍變量的內容,而echo %PATH%顯示系統範圍的內容。

如果你想在兩個版本中都有相同的內容,你可以使用PowerShell,如here所述。

+0

我只是在powershell中試過「$ env:Path =(我想要的路徑)」,就像鏈接說的那樣,但我在cmd中看到的路徑不會改變。我是否設置了系統或用戶PATH?我如何設置其他? – devil0150

+0

看來它只是改變了用戶的路徑。我通過註冊表更改了系統路徑。 – devil0150

+1

對於系統範圍設置和環境設置環境變量(「路徑」,「<您的新建」),您可以使用[[環境] :: SetEnvironmentVariable(「路徑」,「<您的新路徑值進入此處」,「機器」路徑值放在這裏「,」用戶「)用於用戶設置。 – Fairy

0

在Windows中有兩種類型的變量。用戶變量和系統變量。你可以看到並編輯它的。打開系統屬性,打開高級選項卡,點擊環境變量按鈕。剛纔補充說,你是否需要適當的變量區域。