реестр
-
ИМЯ
- реестр — Управление реестром Windows
- СИНТАКСИС
- ОПИСАНИЕ
-
реестр трансляции имя_ключа ?-таймаут миллисекунды?
- реестр удалить имя_ключа ?имя_значения?
- реестр получить имя_ключа имя_значения
- реестр ключи имя_ключа ?шаблон?
- реестр установить имя_ключа ?имя_значения данные ?тип??
- реестр тип имя_ключа имя_значения
- реестр значения имя_ключа ?шаблон?
- реестр удалить имя_ключа ?имя_значения?
-
двоичный
- нет
- sz
- expand_sz
- dword
- dword_big_endian
- ссылка
- multi_sz
- список_ресурсов
- нет
Имя
реестр — Управление реестром WindowsСинтаксис
пакет требуется реестр 1.3реестр ?-режим? опция имя_ключа ?арг арг ...?
Описание
Пакет реестр предоставляет набор общих операций для управления реестром Windows. Пакет реализует команду Tcl реестр. Эта команда поддерживается только в платформе Windows. Предупреждение: эту команду следует использовать с осторожностью, так как поврежденный реестр может привести к тому, что ваша система станет неиспользуемой.Имя_ключа — имя ключа реестра. Ключи реестра должны быть одного из следующих форматов:
-
\\имя_хоста\имя_корня\путь_к_ключам
имя_корня\путь_к_ключам
имя_корня
Имя_хоста указывает имя любого допустимого хоста Windows, который экспортирует свой реестр. Компонент имя_корня должен быть одним из HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG, HKEY_PERFORMANCE_DATA или HKEY_DYN_DATA. Компонент путь_к_ключам может содержать одно или несколько имен ключей реестра, разделенных символами обратного слэша (\).
Необязательный аргумент -режим указывает, с каким реестром работать; если он равен -32bit, будет использоваться 32-битный реестр, а если -64bit — 64-битный. Если этот аргумент опущен, в качестве объекта запрошенной операции будет использоваться стандартный реестр системы.
Опция указывает, что нужно сделать с именем ключа реестра. Допускаются любые уникальные сокращения для опции. Допустимые опции:
- реестр трансляции имя_ключа ?-таймаут миллисекунды?
- Отправляет сообщение трансляции системе и запущенным программам, уведомляя их об определенных обновлениях. Это необходимо для распространения изменений в ключах реестра, таких как Environment. Таймаут указывает время, в миллисекундах, ожидания ответа приложений на сообщение трансляции. По умолчанию он равен 3000. Следующий пример демонстрирует, как добавить путь в глобальную переменную среды и уведомить приложения об изменении без необходимости выхода/входа в систему (предполагается, что у вас есть права администратора):
set regPath [join { HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control {Session Manager} Environment } "\\"] set curPath [registry get $regPath "Path"] registry set $regPath "Path" "$curPath;$addPath" registry broadcast "Environment" - реестр удалить имя_ключа ?имя_значения?
- Если присутствует необязательный аргумент имя_значения, указанное значение в имя_ключа будет удалено из реестра. Если необязательный имя_значения опущен, указанный ключ и все подключа или значения под ним в иерархии реестра будут удалены. Если ключ не удалось удалить, генерируется ошибка. Если ключа не существовало, команда не оказывает никакого влияния.
- реестр получить имя_ключа имя_значения
- Возвращает данные, связанные со значением имя_значения в ключе имя_ключа. Если ключ или значение не существует, генерируется ошибка. Более подробную информацию о формате возвращаемых данных см. в разделе ПОДДЕРЖИВАЕМЫЕ ТИПЫ ниже.
- реестр ключи имя_ключа ?шаблон?
- Если шаблон не указан, возвращается список имен всех подключа имя_ключа. Если шаблон указан, возвращаются только те имена, которые соответствуют шаблону. Сопоставление определяется по тем же правилам, что и для string match. Если указанный имя_ключа не существует, генерируется ошибка.
- реестр установить имя_ключа ?имя_значения данные ?тип??
- Если имя_значения не указано, ключ имя_ключа создается, если он еще не существует. Если имя_значения указано, ключ имя_ключа и значение имя_значения создаются при необходимости. Содержимое имя_значения устанавливается в данные с типом, указанным в тип. Если тип не указан, предполагается тип sz. Более подробную информацию об аргументах данные и тип см. в разделе ПОДДЕРЖИВАЕМЫЕ ТИПЫ ниже.
- реестр тип имя_ключа имя_значения
- Возвращает тип значения имя_значения в ключе имя_ключа. Более подробную информацию о возможных типах см. в разделе ПОДДЕРЖИВАЕМЫЕ ТИПЫ ниже.
- реестр значения имя_ключа ?шаблон?
- Если шаблон не указан, возвращается список имен всех значений имя_ключа. Если шаблон указан, возвращаются только те имена, которые соответствуют шаблону. Сопоставление определяется по тем же правилам, что и для string match.
Поддерживаемые типы
Каждое значение в ключе реестра содержит данные определенного типа в представлении, специфичном для типа. Команда реестр преобразует это внутреннее представление в представление, которое может быть обработано скриптами Tcl. В большинстве случаев данные просто возвращаются как строка Tcl. Тип указывает предполагаемое использование данных, но фактически не изменяет представление. Для некоторых типов команда реестр возвращает данные в другом формате, чтобы упростить их обработку. Следующие типы распознаются командой реестра:- двоичный
- Значение реестра содержит произвольные двоичные данные. Данные точно отображаются в Tcl, включая любые встраиваемые нули.
- нет
- Значение реестра содержит произвольные двоичные данные без определенного типа. Данные точно отображаются в Tcl, включая любые встраиваемые нули.
- sz
- Значение реестра содержит строку с завершением нулем. Данные отображаются в Tcl как строка.
- expand_sz
- Значение реестра содержит строку с завершением нулем, содержащую нерасширенные ссылки на переменные среды в стандартном стиле Windows (например, «%PATH%»). Данные отображаются в Tcl как строка.
- dword
- Значение реестра содержит 32-битное число в формате little-endian. Данные отображаются в Tcl как десятичная строка.
- dword_big_endian
- Значение реестра содержит 32-битное число в формате big-endian. Данные отображаются в Tcl как десятичная строка.
- ссылка
- Значение реестра содержит символическую ссылку. Данные точно отображаются в Tcl, включая любые встраиваемые нули.
- multi_sz
- Значение реестра содержит массив строк с завершением нулем. Данные отображаются в Tcl как список строк.
- список_ресурсов
- Значение реестра содержит список ресурсов устройства драйвера. Данные точно отображаются в Tcl, включая любые встраиваемые нули.
В дополнение к символически именованным типам, перечисленным выше, неизвестные типы идентифицируются с использованием 32-битного целого числа, соответствующего коду типа, возвращаемому системными интерфейсами. В этом случае данные отображаются точно в Tcl, включая любые встраиваемые нули.
Проблемы переносимости
Команда реестра доступна только в Windows.Пример
Вывод того, как двойной щелчок по файлу скрипта Tcl вызовет интерпретатор Tcl:package require registry
set ext .tcl
# Read the type name
set type [registry get HKEY_CLASSES_ROOT\\$ext {}]
# Work out where to look for the command
set path HKEY_CLASSES_ROOT\\$type\\Shell\\Open\\command
# Read the command!
set command [registry get $path {}]
puts "$ext opens with $command"
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/registry.htm
Licensed under Tcl/Tk terms
https://www.tcl.tk/man/tcl/TclCmd/registry.htm