1

Я настроил свои переменные для среды разработки с помощью Windows cmd, но он работает хорошо только при первом их задании с помощью диалогового окна «Система»> «Дополнительно»> «Env Vars». Я просто перезапустить cmd, и это работает.

Но после перезагрузки компьютера он ведет себя довольно странно. Как я должен перезапустить cmd неопределенное количество раз, чтобы получить переменные, которые я установил. Иногда он даже отображается в cmd, когда я запускаю команду SET, но он не работает, если я запускаю команду по одному из этих путей. Вот как это выглядит:

C:\Users\Adrian>set
ALLUSERSPROFILE=C:\ProgramData
ANDROID_HOME=F:\Programas\android-sdk
ANDROID_SDK_HOME=F:\Programas\android-sdk
ANT_HOME=F:\Programas\ant
APPDATA=C:\Users\Adrian\AppData\Roaming
BIN_DIR=F:\Programas\bin
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=SAKURA
ComSpec=C:\WINDOWS\system32\cmd.exe
configsetroot=C:\WINDOWS\ConfigSetRoot
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Adrian
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_60
JAVA_SDK_HOME=C:\Program Files\Java\jdk1.7.0_60
LOCALAPPDATA=C:\Users\Adrian\AppData\Local
LOGONSERVER=\\SAKURA
MAVEN_HOME=F:\Programas\maven\
MOZ_PLUGIN_PATH=C:\PROGRAM FILES (X86)\FOXIT SOFTWARE\FOXIT READER\plugins\
NUMBER_OF_PROCESSORS=8
OS=Windows_NT
Path=C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x8
6)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:
\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:
\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\
Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Int
el(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Man
agement Engine Components\IPT;C:\Program Files\Lenovo\Bluetooth Software\;C:\Pro
gram Files\Lenovo\Bluetooth Software\syswow64;C:\Program Files\nodejs\;%ANDROID_
HOME%\tools;%ANDROID_HOME%\platform-tools;%JAVA_HOME%\bin;F:\Programas\ant\bin;C
:\Program Files (x86)\Git\cmd;C:\Program Files\Microsoft SQL Server\110\Tools\Bi
nn\;C:\Program Files (x86)\sbt\bin;F:\Programas\bin;%MAVEN_HOME%\bin;C:\Users\Ad
rian\AppData\Roaming\npm
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=3c03
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SBT_HOME=C:\Program Files (x86)\sbt\
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\Adrian\AppData\Local\Temp
TMP=C:\Users\Adrian\AppData\Local\Temp
USERDOMAIN=SAKURA
USERDOMAIN_ROAMINGPROFILE=SAKURA
USERNAME=Adrian
USERPROFILE=C:\Users\Adrian
VBOX_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
VS120COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools
\
windir=C:\WINDOWS

C:\Users\Adrian>adb
"adb" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Users\Adrian>adb
"adb" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Users\Adrian>javac
"javac" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Users\Adrian>

Существует переменная с именем ANDROID_SDK_HOME, которая была заменена на ANDROID_HOME. Этот первый даже не существует в реестре!

Реестр для пользователей vars:пользовательские переменные

Реестр для системных переменных:системные переменные

Что может быть не так?

PD: это на Windows 8.1 Update 1

2 ответа2

0

Кажется, это известная проблема в нескольких версиях Windows.

Я никогда не сталкивался с этой проблемой раньше, но следуя тому, что написано здесь: https://superuser.com/a/484101/245733 и следуя комментарию VbNetMatrix здесь: https://nuxx.net/blog/2011/08/15/shell-переменные-не-расширение-в-пути-на-windows-7-не-администратор-командная строка / я смог обойти это.

Переменные были созданы как REG_SZ вместо REG_EXPAND_SZ. После изменения типов в regedit и триггера для обновления расширения переменной PATH, нажмите "Изменить" для переменной PATH в диалоговом окне конфигурации переменной среды (System> Advanced> Env. Vars, я не знаю точных имен, моя ОС установлен на испанский язык) cmd смог получить доступ к тем командам, которые были по путям, указанным в переменных, которые я установил ранее.

0

Следующая ссылка может быть полезной Что такое path и другие переменные окружения и как их установить

Я отмечаю, что у вас есть javac в качестве одной из тестируемых команд, которая будет частью Java SDK, и в то время как вы, похоже, установили следующую переменную среды

JAVA_SDK_HOME = C:\Program Files\Java\jdk1.7.0_60

в вашем выражении пути нет% JAVA_SDK_HOME%, поэтому ОС, возможно, не найдет эту команду в других ваших записях пути.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .