registry Commandes Internes Tcl
NOM
registry - Manipule la base de registre Windows
SYNTAXE
package require registry 1.0
registry option keyName ?arg arg ...?
DESCRIPTION
Le package registry fournit un ensemble général d'opérations pour manipuler la base de registre Windows Le package implémente la commande Tcl registry. Cette commande est supportée seulement sur la plateforme Windows. Attention: cette commande sera utilisée avec précaution car une base de registre corrompue peut rendre votre système inutilisable.
KeyName est le nom d'une clé de registre. Les clés doivent avoir une des formes suivantes:
\\hostname\rootname\keypath
rootname\keypath
rootname
Hostname spécifie le nom d'une machine Windows quelconque qui exporte sa base de registre. Le composant rootname doit être un d'entre HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_CURRENT_CONFIG, HKEY_PERFORMANCE_DATA, ou HKEY_DYN_DATA. Le keypath peut être un ou plusieurs noms de clé de registre séparées par des caractères backslash (\).
Option indique que faire avec le nom de clé de registre. N'importe quelle abréviation unique pour
option est acceptable. Les options valides sont:
- registry delete keyName ?valueName?
- Si l'argument optionnel valueName est présent, la valeur spécifiée sous keyName sera effacée de la base de registre. Si l'optionnelle valueName est omise, la clé spécifiée et toute sous-clé ou valeurs en dessous dans la hiérarchie de la base de registre seront effacées. Si la clé n'a pu être effacée alors une erreur est générée. Si la clé n'existe pas, la commande n'a pas d'effet.
registry get keyName valueName
- Renvoie les données associées à la valeur valueName sous la clé keyName. Si la clé ou la valeur n'existe pas, alors une erreur est générée. Pour plus details sur le format des données renvoyées, voir TYPES SUPPORTES, ci-dessous.
registry keys keyName ?pattern?
- Si pattern n'est pas spécifié, retourne une liste de noms de tout les sous-clés de keyName Si pattern est spécifié, seulement les noms correspondants à pattern sont retournés La correspondance est déterminée en utilisant le même règles que pour string match. Si le keyName spécifié n'existe pas, alors une erreur est générée.
registry set keyName ?valueName data ?type??
-
Si valueName n'est pas spécifié, crée la clé keyName si elle n'existe pas déjà. Si valueName est spécifié, crée la clé keyName et la valeur valueName si nécessaire Le contenu de valueName est fixé à data avec le type indiquée par type. Si type n'est pas spécifié, le type sz est supposé. Pour plus details sur les types de données et d'arguments , voir TYPES SUPPORTES ci-dessous.
registry type keyName valueName
-
Renvoie le type de la valeur valueName dans la clé keyName. Pour plus ample information sur les types possibles, voir TYPES SUPPORTES, ci-dessous.
registry values keyName ?pattern?
- Si pattern n'est pas spécifié, retourne une liste de noms de toutes les valeurs de keyName. Si pattern est spécifié, seulement les noms correspondants à pattern sont renvoyés. La correspondance est déterminée en utilisant les même règles que pour string match
TYPES SUPPORTES
Chaque valeur sous une clé dans la base de registre contient des données d'un type particulier dans une représentation spécifique. La commande
registry convertit entre cette représentation interne et celle qui peut être manipulée par les scripts Tcl. Dans la plupart des cas, les données sont simplement renvoyées comme chaînes Tcl. Le type indique pour quel usage sont conçues les données, mais ne change pas la représentation. Pour certains types, la commande
registry retourne les données sous une forme différente pour en faciliter la manipulation. Les types suivant sont reconnus par la commande
registry:
- binary
- La valeur du registre contient des données binaires arbitraires. Les données sont representées exactement enTcl, incluant tous les nulls contenus.
none
- La valeur du registre contient des données binaires arbitraires sans type défini. Les données sont representées exactement en Tcl, incluant tous les nulls contenus.
sz
- La valeur du registre contient une chaîne à zéro terminal. Les données sont representées en Tcl comme chaînes.
expand_sz
- La valeur du registre contient une chaîne à zéro terminal qui contient des références non expansées aux variables d'environnements dans le style Windows normal (par exemple, "%PATH%") Les données sont representées en Tcl comme chaîne.
dword
- La valeur du registre contient un nombre 32-bit little-endian. Les données sont representées en Tcl comme une chaîne décimale.
dword_big_endian
- La valeur du registre contient un nombre 32-bit big-endian. Les données sont representées en Tcl comme une chaîne décimale.
link
- La valeur du registre contient un lien symbolique. Les données sont representées exactement en Tcl, incluant tous les nulls contenus.
multi_sz
- La valeur du registre contient un tableau chaînes à zéro terminal. Les données sont representées en Tcl comme une liste de chaînes.
resource_list
- La valeur du registre contient une liste de pilotes de périphériques. Les données sont representées exactement en Tcl, incluant tous les nulls contenus.
En plus des noms de types symboliques listés plus haut, les types inconnus sont identifiés en utilisant un entier 32-bit qui correspond au code de type renvoyé par les interfaces système. Dans ce cas, les données sont representées exactement en Tcl, incluant tous les nulls contenus.
PROBLEMES DE PORTABILITE
La commande registry est seulement disponible sous Windows