Comment puis-je ajouter une multiligne REG_SZ chaîne dans le registre à partir de la ligne de commande?
Dans le cadre d'une construction de l'installation sur une machine windows, j'ai besoin d'ajouter une entrée de registre, et j'aimerais le faire à partir d'un simple fichier de commandes.
L'entrée est pour une application tierce de sorte que le format est fixe.
L'entrée prend la forme d'un REG_SZ chaîne, mais doit contenir des sauts de ligne ie. 0xOA caractères séparateurs.
J'ai eu quelques problèmes.
Première tentative utilisé regedit pour charger un générés .le fichier reg. Cela a échoué car il n'a pas l'air d'aimer soit long des cordes ou des chaînes de caractères avec des retours à la ligne. J'ai découvert que l'exportation fonctionne très bien à l'importation échoue. J'ai pu tester à l'exportation comme la troisième partie de l'app ajoute des entrées similaires directement par l'api win32.
Deuxième tentative utilisé la commande REG ADD, mais je ne trouve pas de toute façon à ajouter les caractères de saut de ligne tout ce que j'ai essayer se termine juste en haut avec une chaîne littérale ajouté.
OriginalL'auteur morechilli | 2008-09-30
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer un script VBScript(.vbs) fichier et juste de l'appeler à partir d'un fichier de commandes, en supposant que vous êtes en train de faire d'autres choses dans le lot autre que ce changement de registre. En vbscript, vous seriez à la recherche à quelque chose comme:
Vous devriez être en mesure de trouver le type de valeurs à l'aide de Google.
OriginalL'auteur tloach
Si vous n'êtes pas limité à un langage de script, vous pouvez le faire en C# avec
OriginalL'auteur Factor Mystic
Vous pouvez importer multiligne REG_SZ chaînes contenant de retour chariot (CR) et de saut de ligne (LF) de fin de ligne (EOL) les pauses dans le registre à l'aide .les fichiers reg tant que vous n'avez pas l'esprit traduire le texte en UTF-16LE hexadécimal des données codées. Pour importer un REG_SZ, avec ce texte:
Vous pouvez créer un fichier appelé MULTILINETEXT.REG qui contient ceci:
Pour coder l'ASCII en UTF-16LE, il suffit d'ajouter un octet nul à la suite de chaque code ASCII de la valeur. REG_SZ valeurs doit se terminer par un caractère null (
,00,00
) en UTF-16LE notation.Importer le changement de registre dans le fichier de commandes
REG.EXE IMPORT MULTILINETEXT.REG
.L'exemple utilise la clé Environnement parce que c'est pratique, non pas parce qu'il est particulièrement utile pour ajouter ces données à des variables d'environnement. On peut utiliser RegEdit pour vérifier que l'importés REG_SZ données contient les caractères CRLF.
OriginalL'auteur kbulgrien