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
中使用註冊表命令。
《中國 Linux 論壇 man
手冊頁翻譯計劃》:
http://cmpp.linuxforum.net
跋
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh