Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
kravam
быдлокодер
1711 / 898 / 105
Регистрация: 04.06.2008
Сообщений: 5,584
1

Как изменить переменную среды в консоли?

12.02.2014, 19:16. Просмотров 4607. Ответов 9
Метки нет (Все метки)

ТОлько на самом деле изменить!

Bash
1
2
3
4
5
6
7
8
9
10
E:\>set classpath
CLASSPATH=E:\vso_moio
 
E:\>set /P CLASSPATH=
 XXX
 
E:\>set classpath
CLASSPATH=XXX
 
E:\>
Кто думает, что CLASSPATH стала равной XXX, сильно ошибается. Закрываем-открываем консоль, командуем и наблюдаем

Bash
1
2
E:\>set classpath
CLASSPATH=E:\vso_moio
ЧЯДНТ? Спасибо, кто откликнется.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2014, 19:16
Ответы с готовыми решениями:

Как установить строковую переменную среды cmd (с использование команды set) в батнике?
Казалось бы, всё просто //батник set /p per=x или //батник set /p per=

Определить переменную среды
Здравствуйте. Помогите пожалуйста с задачками по командной строке. 2.2.8 . Определите...

Получить переменную среды в консоли
Помогите пожалуста... вроде мелочь, но ничего по теме найти не могу... Нужно в консольной...

Как использовать переменную среды с CreateDirectory
Здравствуйте, подскажите что я делаю не так? я хочу получить путь к системной папке Windows, пробую...

Как редактировать пользовательскую переменную среды path?
Нет прав администратора, но знаю что есть переменные среды "пользовательского" уровня. Хотел...

9
Somebody
2808 / 1619 / 251
Регистрация: 03.12.2007
Сообщений: 4,223
Завершенные тесты: 3
12.02.2014, 19:42 2
У каждого процесса свои переменные среды. Тут править надо в реестре (через reg или .reg файл + regedit):
Environment Variables
0
kravam
быдлокодер
1711 / 898 / 105
Регистрация: 04.06.2008
Сообщений: 5,584
12.02.2014, 19:51  [ТС] 3
Цитата Сообщение от Somebody Посмотреть сообщение
Тут править надо в реестре (через reg или .reg файл + regedit):
Или в графическом окне "Панель управления-> Система->..."

До есть достойной альтернативы графическому изменению переменных среды нет- (только через реестр)?
0
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
12.02.2014, 20:06 4
Bash
1
setx classpath XXX
0
kravam
быдлокодер
1711 / 898 / 105
Регистрация: 04.06.2008
Сообщений: 5,584
12.02.2014, 20:15  [ТС] 5
FraidZZ,
Bash
1
2
"setx" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
0
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
12.02.2014, 20:26 6
Система XP?
Тогда через реестр, благо есть консольная программка reg.
Буду за компьютером - посмотрю ключи, а то сейчас подзабыл
0
Dragokas
Эксперт WindowsАвтор FAQ
17055 / 7110 / 861
Регистрация: 25.12.2011
Сообщений: 10,920
Записей в блоге: 16
13.02.2014, 01:07 7
Лучший ответ Сообщение было отмечено kravam как решение

Решение

FraidZZ, одной модификация в ветке реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
или
HKEY_CURRENT_USER\Environment

и перезапуска консоли будет недостаточно.
Консоль будет наследовать окружение Explorer.exe, которому еще не известно об изменениях.

За это по идее отвечает API-функция
Код
PostMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
вручную это можно сделать:
1) вызвав что угодно через команду setx
2) инициировав окно UAC повышения привилегий.

По теме - тоже самое касается XP, только пп.1,2 там нет.

Поищите точное расположение CLASSPATH в реестре по ключу "Имена параметров".
Переменная может хранится совершенно в другом месте.
Обратите внимание на утилиту setenv - сайт - скачать

Из пакетного файла в XP способ обновления мне не известен.
Трюки с:
Bash
1
2
rundll32 user32.dll,UpdatePerUserSystemParameters
gpupdate /force
здесь не срабатывают.
1
Dragokas
Эксперт WindowsАвтор FAQ
17055 / 7110 / 861
Регистрация: 25.12.2011
Сообщений: 10,920
Записей в блоге: 16
13.02.2014, 22:49 8
Лучший ответ Сообщение было отмечено Eva Rosalene как решение

Решение

kravam, попробуйте так:

Bash
1
WMIC Environment Where Name="CLASSPATH" SET VariableValue="XXX"
Оболочку CMD нужно будет перезапустить.

Способ работает также на Windows 7 для режима повышенных привилегий (пользовательская переменная не будет изменена).
0
Миниатюры
Как изменить переменную среды в консоли?  
kravam
быдлокодер
1711 / 898 / 105
Регистрация: 04.06.2008
Сообщений: 5,584
15.02.2014, 21:31  [ТС] 9
В подтверждении сказанному Dragokas, Я экспериментировал с добавлением/изменением переменных. Если добавлять переменные среды стандартным способом, то они прописываются в эти вот разделы:

"HKLM\SYSTEM\ControlSet002\Control\Session Manager\Environment"
"HKLM\SYSTEM\ControlSet003\Control\Session Manager\Environment"
"HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
После чего добавленные таким способом переменные становятся видны для процессов. Так, в ProcessExplorer в свойствах это можно посмотреть. Команды консоли

set <имя переменной, которую только что добавили>

Также даёт предполагаемый результат.

Если же НЕПОСРЕДСТВЕННО править эти разделы (тем же самым батником, наприрер, reg add), то без перезагрузки это ничего не даст. Эти переменные не станут видимы для процессов. Более того, Я перезагружал проводник- в этом случае добавленные переменные ТАКЖЕ оставались невидимыми и оставались такими пока я не перезагружал систему.

То есть при правке/добавлении переменой среды штатным способом, комп перезагружать необязательно, а если правим реестр (любым способом, хоть батником, хоть как), то обязательно. Но этот вариант, не подходит, конечно. setenv.exe вопрос решила
0
Smitis
1629 / 338 / 40
Регистрация: 15.10.2012
Сообщений: 530
17.02.2014, 13:03 10
Для информации. SETX, работающую под XP можно взять здесь http://support.microsoft.com/kb/927229
Или, поновее, из Win 2003.
0
17.02.2014, 13:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2014, 13:03

Как правильно добавить переменную окружающей среды?
Здравствуйте. подскажите пожалуйста как правильно добавить переменную окружающей среды.я пытаюсь...

Как легко редактировать переменную среды PATH?
Все данные в одной строчке... Это убийственно...

Как переменную среды окружения привести к пути в обычном представлении
Прошу прощения если вопрос уже задавался, поиск не помог т.к. понятия не имею как называются такие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru