Переменная среды Path Windows 10. Echo% Path% в командной строке показывает только% Path%

22084
Arun S

Моя переменная в пути выглядит следующим образом

C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;%PYTHON_HOME%\;%PYTHON_HOME%\Scripts;C:\SQLite 

Когда я печатаю echo %Path%в командной строке, я получаю вывод ниже

PS C:\Users\Arun> echo %Path% %Path% 

Почему это?

6

2 ответа на вопрос

8
Steven

PowerShell использует синтаксис, отличный от командной строки Windows.

Для получения переменной PATH используйте $Env.Pathили Get-ChildItem Env:Path.

Источник: Создание и изменение переменных среды - Microsoft Technet

Правильный синтаксис: $ Env.Path Sterling Bourne 6 лет назад 0
`Get-ChildItem Env: Path` просто заканчивается на` ... `после двух элементов каталогов ...` $ Env: Path` работает, но с `:` not a `.` IronSean 6 лет назад 4
Можно подтвердить, что Env: Path работает Evan Rosica 5 лет назад 0
5
DavidPostill

Начиная с Windows 10 Insider Build 14971 Microsoft изменила командную оболочку по умолчанию PowerShellвместо cmd.

PowerShell обрабатывает переменные среды по-разному cmd.

Чтобы отобразить их значения в PowerShell, используйте следующий синтаксис:

$Env:variablename 

Пример:

> echo %Path% %Path% > $Env:Path C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\apps\WSCC\Sysinternals Suite;C:\apps\WSCC\NirSoft Utilities > 

Дальнейшее чтение