Création d'un fichier .reg pour Windows 7

16

J'ai créé un fichier .reg mais lorsque je double-clique dessus, il ne veut pas être importé.

Le fichier spécifié n'est pas un script de registre. Vous pouvez uniquement importer des fichiers de registre binaires à partir de l'éditeur de registre.

Voici le contenu du fichier .reg

[HKEY_CLASSES_ROOT\Folder\shell\PngCrush]
@=”PNG Crush”

[HKEY_CLASSES-ROOT\Folder\shell\PngCrush\command]
@=”E:\Programs\PNGCrush\crush.bat %1”

Quelqu'un pourrait-il m'aider? Merci d'avance

Aximili
la source

Réponses:

6

Je ne sais pas comment ces citations se sont retrouvées dans ce fichier, mais je suppose que celles-ci ne fonctionnent pas (peut-être que vous les avez copiées sur un blog Wordpress).

En plus de toute autre chose, je pense que ça devrait être comme ça:

[HKEY_CLASSES_ROOT\Folder\shell\PngCrush]
@="PNG Crush"

[HKEY_CLASSES-ROOT\Folder\shell\PngCrush\command]
@="E:\Programs\PNGCrush\crush.bat %1"
Der Hochstapler
la source
1
+1 Peut-être, peut-être qu'il a fait une entrée internationale qui utilise différents caractères.
Tamara Wijsman
Je n'ai pas remarqué ça! Vous avez raison, je l'ai copié sur le net, merci!
Aximili
34

Ce n'est pas la syntaxe valide d'un fichier de registre, il manque l'en-tête.

Ajoutez une ligne devant avec: Windows Registry Editor Version 5.00

Vérifiez s'il y a des caractères non valides, si vous avez enregistré le fichier en Unicode qui pourrait être le problème.

Tamara Wijsman
la source
Mais aximili doit être sûr que ce fichier est unicode. REGEDIT4 doit être utilisé pour les fichiers ansi.
crea7 ou
1
@ crea7or: Le fichier n'a pas besoin d'être Unicode pour ce qu'il essaie d'insérer.
Tamara Wijsman
3
Cette réponse est la bonne.
Gras Double
Comme le dit Gras Double, cette réponse est la bonne.
pdwalker
8

Je viens de compiler toutes les réponses avec quelques informations supplémentaires que j'ai découvertes.

En-tête sur la première ligne: Windows Registry Editor Version 5.00

  • Une ligne vide entre les clés délimitées par "CRLF"
  • supports de clés sans espaces
  • valeurs entre guillemets
  • valeurs entières / mots en hexadécimal - minuscules pour les lettres apparemment

Exemple

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\MyOrg]

[HKEY_LOCAL_MACHINE\SOFTWARE\MyOrg\MyKey]
"My Value"="Some String"
"My Flag or Integer"=dword:00000001

Les encodages autorisés semblent également correspondre aux chaînes de l'API Windows qui sont:

  • Largeur fixe 8 bits: Windows-1252 - presque identique à ISO-8859-1
  • Largeur fixe 16 bits: UCS-2LE (petit endian) - essentiellement identique à UTF-16

Remarque: lorsqu'un éditeur de texte dit "unicode" pour l'encodage, cela signifie probablement UTF-8 qui est un encodage à largeur variable non naïvement compatible avec Windows interne.

Note 2 (modifier): ASCII est 7 bits et tous les processeurs que je connais en cours d'utilisation sont une puissance de 2 bits, donc il va toujours être enveloppé dans un autre sur-ensemble ASCII comme 1252. #thingsyoulearnafteruni

Seth
la source
4

Jetez un oeil à ce site Web, cela m'a aidé avec ce problème: "Le fichier spécifié n'est pas un script de registre" - Comment l'encodage peut ruiner votre matinée

Il s'avère que l'encodage peut ruiner votre matinée. En jetant un coup d'œil au message, j'ai vu «… importer uniquement des fichiers de registre binaires à partir de…» et j'ai pensé «Pourquoi cette chose pense-t-elle que c'est binaire?». Pourquoi, en effet. J'ai ouvert le fichier de sauvegarde dans TextPad et plutôt que d'appuyer simplement sur Ctrl + S ou Enregistrer, j'ai choisi "Enregistrer sous". Cela a présenté ce menu, et j'ai mis en évidence mon problème:

C'est vrai. Sans que je fasse quoi que ce soit, TextPad allait enregistrer ce fichier sous Unicode. Regedit s'attend à obtenir des fichiers .reg codés ANSI. J'ai donc changé l'encodage en ANSI, enregistré le fichier, l'ai exécuté à nouveau et tout a bien fonctionné. Cela m'a causé une certaine frustration pendant 20 bonnes minutes, alors j'espère que cela aidera quelqu'un d'autre.

Vitumbiko Smith Nkhwazi
la source
1

J'ai eu le même problème car je l'ai enregistré sous UTF-8-BOM. Il doit s'agir d'UTF-8 sans nomenclature (Byte Order Mark). Ça vaut la peine de le noter.

Paweł Walaszek
la source
0

Vous pouvez également utiliser l' utilitaire REG pour manipuler le registre via la ligne de commande, s'il convient à vos besoins.

lrosa
la source