registry(3tcl) | Tcl Built-In Commands | registry(3tcl) |
NAME¶
registry - 操纵 Windows 注册表
总览 SYNOPSIS¶
package require registry 1.0
registry option keyName ?arg arg ...?
描述 DESCRIPTION¶
registry 包为操纵 Windows 注册表提供了一个通用的操作集。这个包实现了 Tcl 命令 registry。只在 Windows 平台上支持这个命令。警告: 使用这个命令必须谨慎,因为一个被破坏了的注册表将导致你的系统进入不可用状态。
KeyName 是一个注册表键的名字。注册表键必须是下列一种形式之一:
- \\hostname\rootname\keypath
- rootname\keypath
- rootname
Hostname 指定任何有效的 Windows 主机名字,它导出了自己的注册表。rootname 组成部分必须是下列之一: HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG, HKEY_PERFORMANCE_DATA, or HKEY_DYN_DATA. keypath 可以是一个或更多 注册表键的名字, 用反斜杠字符(\fR)分隔。
Option 指示对注册表键名要做什么。可接受一个唯一的 option 的缩写。有效的选项有:
- registry delete keyName ?valueName?
- 如果提供了可选的 valueName 参数,则从注册表中删除 keyName 下的这个指定的值。如果省略了可选的 valueName,则删除这个指定的键和在注册表层次中位于其下的子键或值。如果不能删除这个键则生成一个错误。如果这个键不存在,这个命令没有作用。
- registry get keyName valueName
- 返回在键 keyName 下面的值 valueName 所关联的数据。如果这个键或值不存在,则生成一个错误。 返回数据的格式的详情请参见下面的 SUPPORTED TYPES 支持的类型。
- registry keys keyName ?pattern?
- 如果未指定 pattern,返回 keyName 的所有子键的名字的一个列表。如果指定了 pattern,只返回匹配 pattern 的那些名字。使用与 string 相同的匹配规则确定匹配。如果指定的 keyName 不存在,则生成一个错误。
- registry set keyName ?valueName data ?type??
- 如果未指定 valueName,若键 keyName 不存在则建立之。如果指定了 valueName,如果需要的话,建立键 keyName 和值 valueName。valueName 的内容被设置成 data,用 type 指示其类型。如果未指定 type,假定为类型 sz。数据和类型参数的详情请参见下面的 SUPPORTED TYPES 支持的类型。
- registry type keyName valueName
- 返回在键 keyName 中的值 valueName 的类型。可能的类型的更多信息请参见下面的SUPPORTED TYPES 支持的类型。
- registry values keyName ?pattern?
- 如果未指定 pattern,返回 keyName 的所有值的名字的一个列表。如果指定了 pattern ,只返回匹配 pattern 的那些名字。使用与 string 相同的匹配规则确定匹配。
支持的类型 SUPPORTED TYPES¶
在注册表中一个键之下的每个值包含特定类型的一些数据,这些数据存储为特定于类型的表示。registry 命令在这种内部表示和可以被 Tcl 脚本操作的表示之间进行转换。在多数情况下,数据被简单的返回为一个 Tcl 字符串。类型为数据指示目的用途,但不实际改变表示。对于一些类型,registry 命令以不同的形式返回数据以易于操纵。注册命令识别下列类型:
- binary
- 注册值包含任意二进制数据。数据在 Tcl 中被精确表示,包括所有嵌入的 null。
- none
- 注册值包含未定义类型的任意二进制数据。数据在 Tcl 中被精确表示,包括所有嵌入的 null。
- sz
- 注册值包含一个 null 终结的字符串。数据在 Tcl 中被表示为一个字符串。
- expand_sz
- 注册值包含一个 null 终结的字符串,其中包含到环境变量的未展开的引用(unexpanded reference),引用是通常的 Windows 式样(例如,"%PATH%")。数据在 Tcl 中被表示为一个字符串。
- dword
- 注册值包含一个小端(little-endian) 32 位数。数据在 Tcl 中被表示为一个十进制串。
- dword_big_endian
- 注册值包含一个大端(big-endian) 32 位数。数据在 Tcl 中被表示为一个十进制串。
- link
- 注册值包含一个符号连接。数据在 Tcl 中被精确表示,包括所有嵌入的 null。
- multi_sz
- 注册值包含 null 终结的字符串的一个数组。数据在 Tcl 中被表示为字符串的一个列表。
- resource_list
- 注册值包含一个设备-驱动器资源列表。数据在 Tcl 中被精确表示,包括所有嵌入的 null。
除了上面列出的用符号命名的类型之外,用对应于系统接口返回的类型代码的一个32位整数标识未知类型 。在这种情况下,数据在 Tcl 中被精确表示,包括所有嵌入的 null。
移植要点 PORTABILITY ISSUES¶
只能在 Windows 中使用注册表命令。
关键字 KEYWORDS¶
registry
[中文版维护人]¶
寒蝉退士
[中文版最新更新]¶
2001/10/29
《中国 Linux 论坛 man 手册页翻译计划》:¶
跋¶
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
8.0 | Tcl |