Erstellen einer REG-Datei für Windows 7

16

Ich habe eine .reg-Datei erstellt, aber wenn ich darauf doppelklicke, möchte sie nicht importiert werden.

Die angegebene Datei ist kein Registrierungsskript. Sie können nur binäre Registrierungsdateien aus dem Registrierungseditor importieren.

Hier ist der Inhalt der .reg-Datei

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

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

Könnte mir jemand helfen? Danke im Voraus

Aximili
quelle

Antworten:

5

Ich weiß nicht, wie diese Anführungszeichen in dieser Datei landen, aber ich würde annehmen, dass diese nicht funktionieren (vielleicht haben Sie sie von einem Wordpress-Blog kopiert).

Abgesehen von allem anderen denke ich, sollte es so sein:

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

[HKEY_CLASSES-ROOT\Folder\shell\PngCrush\command]
@="E:\Programs\PNGCrush\crush.bat %1"
Der Hochstapler
quelle
1
+1 Könnte sein, dass er vielleicht einige internationale Eingaben gemacht hat, die verschiedene Zeichen verwenden.
Tamara Wijsman
Ich habe das nicht bemerkt! Du hast recht, ich habe es aus dem Netz kopiert, danke!
Aximili
33

Dies ist nicht die gültige Syntax einer Registrierungsdatei, da der Header fehlt.

Fügen Sie eine Zeile voran mit: Windows Registry Editor Version 5.00

Überprüfen Sie, ob ungültige Zeichen vorhanden sind. Wenn Sie die Datei in Unicode gespeichert haben, könnte dies das Problem sein.

Tamara Wijsman
quelle
Aber aximili sollte sicher sein, dass diese Datei Unicode ist. REGEDIT4 sollte für Ansi-Dateien verwendet werden.
crea7or
1
@ crea7or: Die Datei muss nicht Unicode sein, damit sie eingefügt werden kann.
Tamara Wijsman
3
Diese Antwort ist die richtige.
Gras Double
Wie Gras Double sagt, ist diese Antwort die richtige.
PDWalker
7

Ich habe nur alle Antworten mit einigen zusätzlichen Informationen zusammengestellt, die ich entdeckt habe.

Kopfzeile in der ersten Zeile: Windows Registry Editor Version 5.00

  • Eine Leerzeile zwischen Schlüsseln, die durch "CRLF" begrenzt sind
  • Tastenklammern ohne Leerzeichen
  • Werte in doppelten Anführungszeichen
  • Ganzzahl- / Wortwerte in hexadezimaler Schreibweise für die Buchstaben

Beispiel

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

Die zulässigen Codierungen scheinen auch den Windows-API-Zeichenfolgen zu entsprechen:

  • Feste 8-Bit-Breite: Windows-1252 - fast identisch mit ISO-8859-1
  • Feste 16-Bit-Breite: UCS-2LE (Little Endian) - im Grunde dasselbe wie UTF-16

Hinweis: Wenn ein Texteditor "Unicode" für die Codierung angibt, bedeutet dies wahrscheinlich UTF-8, eine Codierung mit variabler Breite, die mit internen Windows-Betriebssystemen nicht kompatibel ist.

Anmerkung 2 (Bearbeiten): ASCII ist 7-Bit und alle Prozessoren, von denen ich weiß, dass sie in Gebrauch sind, haben eine Potenz von 2 Bits, sodass sie immer in eine andere ASCII-Obermenge wie 1252 eingeschlossen werden. #Thingsyoulearnafteruni

Seth
quelle
4

Werfen Sie einen Blick auf diese Website, sie hat mir bei folgendem Problem geholfen: "Die angegebene Datei ist kein Registrierungsskript." - Wie Codierung Ihren Morgen ruinieren kann

Es stellt sich heraus, dass Kodierung Ihren Morgen ruinieren kann. Als ich mir die Meldung ansah, dass ich nur binäre Registrierungsdateien von importiere, dachte ich: Warum hält dieses Ding es für binär? Warum in der Tat? Ich habe die Datei wieder in TextPad geöffnet und anstatt nur Strg + S oder Speichern zu drücken, habe ich "Speichern unter" gewählt. Dadurch wurde dieses Menü angezeigt, und ich habe mein Problem hervorgehoben:

Das ist richtig. Ohne mein Zutun würde TextPad diese Datei als Unicode speichern. Regedit erwartet, REG-Dateien zu erhalten, die ANSI-codiert sind. Also habe ich die Codierung in ANSI geändert, die Datei gespeichert, erneut ausgeführt und alles hat gut funktioniert. Es hat mir gut 20 Minuten lang ein wenig Frust bereitet, also hoffe, das hilft jemand anderem.

Vitumbiko Smith Nkhwazi
quelle
1

Ich hatte das gleiche Problem, weil ich es als UTF-8-BOM gespeichert habe. Es sollte UTF-8 ohne Stückliste (Byte Order Mark) sein. Es ist nichts wert.

Paweł Walaszek
quelle
0

Sie können auch das REG-Dienstprogramm verwenden , um die Registrierung über die Befehlszeile zu bearbeiten, falls dies Ihren Anforderungen entspricht.

lrosa
quelle