|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Добавления значения к уже существующей системной переменной |
|
|
CMD/BAT - Добавления значения к уже существующей системной переменной
|
Новый участник Сообщения: 21 |
Всем привет. Хочу чтобы у меня одно значение дописавалось к уже существующей переменной, например системная переменная Path, которая имеет значение C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Python26\;%SystemRoot%\system32;.................... т.д и т.п и нужно добавить значение C:\ProgramFiles(x86)\Autodesk\AutoCAD 2014\ (чтобы другие не удалялись) где в просторах нашел но мне кажется его поправить и убрать все лишнее. Если кому не сложно можете показать или убрать в этом коде что надо что не надо.За ранее спасибо.
rem какой путь нужно дописать в переменную Path Set InstPath=%ProgramFiles%\Autodesk\AutoCAD 2014\ Set sw="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" Set w7= rem проверка версии (Windows 7) установленной системы Ver | Find "6.1" >Nul && Set w7=1 rem извлечение текущего содержимого переменной Path rem !ВАЖНО! - в кач-ве разделителя в первом цикле используется пробел, а во втором нужно указать rem только символ табуляции (ASCII-код символа после знака "равно" в выделенном фрагменте должен быть 09) If Defined w7 ( For /F "tokens=3* delims= " %%j In ('Reg Query %sw% /v Path') Do Set curPath=%%j %%k ) Else ( For /F "tokens=3 delims= " %%j In ('Reg Query %sw% /v Path') Do Set curPath=%%j ) rem проверка наличия дописываемого значения в переменной Path (для исключения дублирования) rem если дописываемого пути нет в переменной Path, то дополняем ее. Вообщем теперь в переменную Path он !допишет! значение C:\Program Files\Autodesk\AutoCAD 2014\ Echo "%curPath%" | Find /I "%InstPath%" >Nul || Reg Add %sw% /v Path /t REG_EXPAND_SZ /d "%curPath%;%InstPath%" /f @pause |
|
Отправлено: 10:08, 13-01-2015 |
Ветеран Сообщения: 1758
|
Цитата termitt:
Сами же говорили чуть ранее Цитата termitt:
Либо перезагрузить компьютер @echo off setlocal set "key=hklm\System\CurrentControlSet\Control\Session Manager\Environment" set "parameter=path" set "value=%ProgramFiles%\Autodesk\AutoCAD 2014" 1>nul 2>&1 reg query "%key%" /v "%parameter%" || ( reg add "%key%" /v "%parameter%" /t reg_sz /d "%value%" goto:eof ) for /f "tokens=3*" %%i in ('reg query "%key%" /v "%parameter%"') do call:add %%i %%j goto:eof :add reg add "%key%" /v "%parameter%" /d "%*;%value%" /f |
||
Последний раз редактировалось Foreigner, 14-01-2015 в 15:31. Отправлено: 15:00, 14-01-2015 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Foreigner, хмм... дома сработала. сделал запуск от имени администратора. спасибо!!! завтра попробую на работе)
|
Отправлено: 17:40, 14-01-2015 | #22 |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Foreigner, да да все работает спасибо. а можно же сделать что смотрел на эту переменную проверил чтобы не было дублирования?
|
Отправлено: 09:01, 15-01-2015 | #23 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата termitt:
Set InstPath=%SystemDrive%\Program Files\7-Zip Set sw="HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" For /F "tokens=2*" %%j In ('Reg Query %sw% /v Path ^| Find /I "Path"') Do Set type=%%j& Set curpath=%%k Echo "%curpath%" | Find /I "%InstPath%" >Nul && Exit Reg Add %sw% /v Path /t %type% /d "%curpath%;%InstPath%" /f |
|
Отправлено: 13:05, 15-01-2015 | #24 |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать gora, да проверил дублируется создает второй раз, если запустить еще раз батник.
|
Отправлено: 13:27, 15-01-2015 | #25 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать termitt, какие-то религиозные соображения не позволяют пользовать WSH?!
|
Отправлено: 14:50, 15-01-2015 | #26 |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Iska, неее хотелось бы только командами batch
|
Отправлено: 03:35, 16-01-2015 | #27 |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Iska, и хватит навязывать мне тут свой whs!
|
Отправлено: 04:07, 16-01-2015 | #28 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 05:42, 16-01-2015 | #29 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Без раскрытия системной переменной окружения | janxp | Скриптовые языки администрирования Windows | 11 | 09-02-2014 06:35 | |
CMD/BAT - Присвоение значения переменной | starav | Скриптовые языки администрирования Windows | 1 | 30-05-2013 09:23 | |
VBS/WHS/JS - Вывод значения переменной в сообщение | la_vanille_ciel | Программирование и базы данных | 3 | 09-04-2008 11:55 | |
Как изменить заголовок в уже существующей теме ? | XPurple | О сайте и форуме | 8 | 13-04-2005 07:24 | |
php деление значения строковой переменной | Guest | Вебмастеру | 4 | 14-10-2004 17:12 |
|