Criando um arquivo .reg para Windows 7

16

Criei um arquivo .reg, mas quando clico duas vezes nele, ele não deseja ser importado.

O arquivo especificado não é um script de registro. Você pode importar apenas arquivos de registro binários de dentro do editor de registro.

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? desde já, obrigado

Aximili
fonte

Respostas:

5

Eu não sei como essas citações acabaram nesse arquivo, mas eu presumo 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"
Der Hochstapler
fonte
1
+1 poderia ser, talvez ele tenha feito alguma contribuição internacional que use caracteres diferentes.
Tamara Wijsman
Eu não percebi isso! Você está certo, eu copiei da net, obrigado!
Aximili 26/03/12
33

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

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

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

Tamara Wijsman
fonte
Mas aximili deve garantir que este arquivo seja unicode. REGEDIT4 deve ser usado para arquivos ansi.
crea7or
1
@ crea7or: O arquivo não precisa ser Unicode para o que ele está tentando inserir.
Tamara Wijsman
3
Esta resposta é a correta.
Gras Double
Como Gras Double diz, esta resposta é a correta.
Pdwalker
7

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

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

  • Uma linha em branco entre chaves delimitadas por "CRLF"
  • suportes de teclas sem espaços
  • valores entre aspas duplas
  • valores inteiros / palavras em hexadecimal - 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 seqüências de 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 que não é ingenuamente compatível com o Windows interno.

Nota 2 (editar): ASCII é de 7 bits e todos os processadores que conheço em uso têm uma potência de 2 bits, por isso sempre será envolto em outro superconjunto ASCII como 1252. #thingsyoulearnafteruni

Seth
fonte
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ã

Acontece que a codificação pode arruinar a sua manhã. Olhando para a mensagem, vi o “… apenas importar arquivos de registro binários de…” e pensei “Por que essa coisa pensa que é binária?”. Por que de fato. Abri o arquivo de volta no TextPad e, em vez de apenas pressionar Ctrl + S ou Salvar, escolhi "Salvar como". Ao fazer isso, apresentamos este menu e destaquei meu problema:

Está certo. Sem que eu fizesse nada, o TextPad salvaria esse arquivo como Unicode. O Regedit espera obter arquivos .reg que são codificados em ANSI. Então mudei a codificação para ANSI, salvei o arquivo, executei-o novamente e tudo funcionou bem. Causou-me uma certa frustração por uns bons 20 minutos, então espero que isso ajude outra pessoa.

Vitumbiko Smith Nkhwazi
fonte
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.

Paweł Walaszek
fonte
0

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

lrosa
fonte