Как записать в реестр переменную типа REG_EXPAND_SZ

Все об администрировании рабочих станций Windows 95/98/NT/2000/XP/7/8. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1505
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Как записать в реестр переменную типа REG_EXPAND_SZ

Сообщение UncleFather »

Задача:

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

01.jpg

а в reg-файлах - представлены в 16-ричном виде:

02.jpg

Кроме того, необходимо записывать в реестр изменяемую строку, то есть передавать в реестр переменную. Но reg-файлы не позволяют выполнить эту задачу.

Решение:

В этих случаях на помощь приходит команда REG ADD.

Чтобы из командной строки записать в реестр 16-ричное значение ключа, например, в параметр типа «Расширяемая строка данных» (REG_EXPAND_SZ), можно воспользоваться командой

Так же она позволяет задавать какой-либо параметр при работе с реестром в качестве переменной. Например, если нам нужно из командной строки передать в реестр (для настройки путей к пользовательским папкам) имя пользователя, можно выполнить следующую команду:

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

REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"  /f /v "AppData" /t REG_EXPAND_SZ /d "\\SRV\Users\%Username%\Application Data"

REG ADD преобразует задаваемую ей строку в 16-ричный вид и, работая с интерфейсом командной строки, естественно, поддерживает все ее возможности, в том числе и работу с переменными. Так, задавая ей среди прочих параметров имя системной переменной %Username%, на выходе мы получим имя пользователя.


Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение