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 |