registry - 操縱 Windows 登錄檔
package require registry 1.0
registry option keyName ?
arg arg ...?
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
相同的匹配規則確定匹配。
在登錄檔中一個鍵之下的每個值包含特定型別的一些資料,這些資料儲存為特定於型別的表示。
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。
只能在 Windows
中使用登錄檔命令。
registry
寒蟬退士
2001/10/29
http://cmpp.linuxforum.net
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man 手冊頁計劃:
https://github.com/man-pages-zh/manpages-zh