CMD/BAT - Добавления значения к уже существующей системной переменной

Аватара пользователя
Foreigner

Re: CMD/BAT - Добавления значения к уже существующей системной переменной

Сообщение Foreigner »

Цитата termitt:



hklm\environment
CMD/BAT - Добавления значения к уже существующей системной переменной




Вообще-то если hklm, то hklm\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Сами же говорили чуть ранее


Цитата termitt:



HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment вот сюда должна записать то есть hklm
CMD/BAT - Добавления значения к уже существующей системной переменной




Проверить можно в regedit или в свойствах системы: Панель Управления > Система > Дополн. параметры системы > Переменные среды > Системные переменные > PATH



Либо перезагрузить компьютер





Код:

Код: Выделить всё

@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

Батник должен быть запущен с повышенными привилегиями (от Администратора)
Аватара пользователя
termitt

Re: CMD/BAT - Добавления значения к уже существующей системной переменной

Сообщение termitt »

Foreigner, хмм... дома сработала. сделал запуск от имени администратора. спасибо!!! завтра попробую на работе)
Аватара пользователя
termitt

Re: CMD/BAT - Добавления значения к уже существующей системной переменной

Сообщение termitt »

Foreigner, да да все работает спасибо. а можно же сделать что смотрел на эту переменную проверил чтобы не было дублирования?
Аватара пользователя
gora

Re: CMD/BAT - Добавления значения к уже существующей системной переменной

Сообщение gora »

Цитата termitt:



проверил чтобы не было дублирования?
CMD/BAT - Добавления значения к уже существующей системной переменной






Код:

Код: Выделить всё

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
Аватара пользователя
termitt

Re: CMD/BAT - Добавления значения к уже существующей системной переменной

Сообщение termitt »

gora, да проверил дублируется создает второй раз, если запустить еще раз батник.
Аватара пользователя
termitt

Re: CMD/BAT - Добавления значения к уже существующей системной переменной

Сообщение termitt »

Цитата termitt:



Iska, неее хотелось бы только командами batch
CMD/BAT - Добавления значения к уже существующей системной переменной




Ясно. Значит, таки религия.




Цитата termitt:



Iska, и хватит навязывать мне тут свой whs!
CMD/BAT - Добавления значения к уже существующей системной переменной




Флаг Вам в руки. И, да — он не мой.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»