Criando um arquivo .reg para o Windows 7

11

Eu criei um arquivo .reg, mas quando eu clico nele duas vezes, ele não quer ser importado.

The specified file is not a registry script.You can only import binary registry files from within the registry editor.

Aqui está o conteúdo do arquivo .reg

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

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

Alguém poderia me ajudar? Agradecemos antecipadamente

    
por Aximili 25.03.2012 / 14:51

6 respostas

5

Eu não sei como essas citações terminaram nesse arquivo, mas eu diria que elas não funcionam (talvez você tenha copiado de um blog do Wordpress).

Além de qualquer outra coisa, acho que deveria ser assim:

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

[HKEY_CLASSES-ROOT\Folder\shell\PngCrush\command]
@="E:\Programs\PNGCrush\crush.bat %1"
    
por 25.03.2012 / 17:34
25

Essa não é a sintaxe válida de um arquivo de registro, está faltando o cabeçalho.

Adicione uma linha à frente com: Windows Registry Editor Version 5.00

Verifique se há caracteres inválidos, se você salvou o arquivo em Unicode, pode ser o problema.

    
por 25.03.2012 / 14:54
5

Apenas compilando todas as respostas junto com algumas informações extras que descobri.

Cabeçalho na primeira linha: Windows Registry Editor Version 5.00

  • Uma linha em branco entre as chaves delimitadas por "CRLF"
  • colchetes sem espaços
  • valores entre aspas duplas
  • valores de inteiro / palavra em hex - minúsculas para as letras aparentemente

Exemplo

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

As codificações permitidas também parecem corresponder às strings da API do Windows, que são:

  • Largura fixa de 8 bits: Windows-1252 - quase o mesmo que ISO-8859-1
  • Largura fixa de 16 bits: UCS-2LE (little endian) - basicamente o mesmo que UTF-16

Nota: quando um editor de texto diz "unicode" para a codificação, provavelmente significa UTF-8, que é uma codificação de largura variável não ingenuamente compatível com o Windows interno.

Nota 2 (edit): ASCII é de 7 bits e todos os processadores que eu conheço em uso são uma potência de 2 bits, então ele sempre será envolvido em algum outro superconjunto ASCII como 1252. #thingsyoulearnafteruni

    
por 16.11.2017 / 21:52
4

Dê uma olhada neste site, ele me ajudou com este problema: " O arquivo especificado não é um script de registro "- Como a codificação pode arruinar sua manhã

Turns out that encoding can ruin your morning. Taking a look at the message I saw the “… only import binary registry files from …” and I thought “Why does this thing think it’s binary?”. Why, indeed. I opened the file back up in TextPad and rather than just hitting Ctrl+S or Save, I chose "Save As". Doing so presented this menu, and I’ve highlighted my problem:

That’s right. Without me doing anything, TextPad was going to save this file as Unicode. Regedit expects to get .reg files that are ANSI encoded. So I changed the Encoding to ANSI, saved the file, ran it again, and everything worked fine. It caused me some frustration for a good 20 minutes, so hope this helps someone else out.

    
por 24.09.2013 / 11:36
1

Eu tive o mesmo problema porque o salvei como UTF-8-BOM. Deve ser UTF-8 sem BOM (Byte Order Mark). Vale a pena notar.

    
por 04.05.2018 / 16:01
0

Você também pode usar o utilitário REG para manipular o registro via linha de comando, se ele atender às suas necessidades.

    
por 25.03.2012 / 16:47