Створення .reg-файлу для Windows 7


16

Я створив файл .reg, але коли я двічі клацнув його, він не хоче імпортуватися.

Вказаний файл не є сценарієм реєстру. Ви можете імпортувати файли двійкових реєстрів лише з редактора реєстру.

Ось вміст файлу .reg

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

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

Може хтось мені допоможе? Спасибі заздалегідь

Відповіді:


6

Я не знаю, як ці цитати потрапили у цей файл, але я вважаю, що вони не працюють (можливо, ви скопіювали це з блогу Wordpress).

Крім усього іншого, я думаю, що це має бути таким:

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

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

1
+1 Можливо, можливо, він зробив якийсь міжнародний внесок, в якому використовуються різні символи.
Тамара Війсман

Я цього не помічав! Ти маєш рацію, я скопіював це з мережі, дякую!
Аксімілі

34

Це не дійсний синтаксис файлу реєстру, у ньому відсутній заголовок.

Додайте рядок перед: Windows Registry Editor Version 5.00

Перевірте, чи є недійсні символи, якщо ви зберегли файл у Unicode, що може бути проблемою.


Але aximili повинен бути впевнений, що цей файл є unicode. REGEDIT4 слід використовувати для файлів ansi.
crea7 або

1
@ crea7or: Файлу не потрібно використовувати Unicode для того, що він намагається вставити.
Тамара Війсман

3
Ця відповідь є правильною.
Гра "Двомісний"

Як каже Грас Дабл, ця відповідь є правильною.
pdwalker

8

Просто складання всіх відповідей разом із деякою додатковою інформацією, яку я виявив.

Заголовок першого рядка: Windows Registry Editor Version 5.00

  • Порожній рядок між ключами, обмеженими "CRLF"
  • дужки клавіш без пробілів
  • значення в подвійних лапках
  • Значення цілого / слова у шістнадцятковій формі - мабуть для малих літер

Приклад

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

Дозволене кодування також здається, що відповідає рядкам API Windows, які:

  • 8-бітова фіксована ширина: Windows-1252 - майже така сама, як ISO-8859-1
  • 16-бітна фіксована ширина: UCS-2LE (мало ендіан) - в основному така ж, як UTF-16

Примітка: коли текстовий редактор каже "unicode" для кодування, він, ймовірно, означає UTF-8, що є кодуванням змінної ширини, що не є наївно сумісним з внутрішнім Windows.

Примітка 2 (редагування): ASCII - це 7-розрядний, і всі процесори, які я знаю, використовуються, мають потужність 2 біт, тому він завжди буде зафіксований в якомусь іншому суперсеті ASCII, як 1252. #thingsyoulearnafteruni


4

Погляньте на цей веб-сайт, це допомогло мені з цією проблемою: "Вказаний файл не є сценарієм реєстру" - Як кодування може зіпсувати ваш ранок

Виявляється, кодування може зіпсувати ваш ранок. Подивившись на повідомлення, я побачив “… лише імпортувати файли реєстру бінарних файлів з…” і подумав “Чому ця річ думає, що вона є бінарною?”. Чому, справді. Я відкрив резервну копію файлу в TextPad і замість того, щоб просто натиснути Ctrl + S або Save, вибрав "Save As". Таким чином я представив це меню, і я виділив свою проблему:

Це вірно. Без цього я нічого не робив, TextPad збирався зберегти цей файл як Unicode. Regedit розраховує отримати .reg файли, кодовані ANSI. Тож я змінив Encoding на ANSI, зберег файл, запустив його знову, і все спрацювало нормально. Це викликало у мене розчарування протягом добрих 20 хвилин, тож сподіваюся, що це допоможе комусь іншому.


1

У мене була така ж проблема, тому що я врятував її як UTF-8-BOM. Це має бути UTF-8 без BOM (байтова марка порядку). Варто зазначити.


0

Ви також можете використовувати утиліту REG для управління реєстром за допомогою командного рядка, якщо він відповідає вашим потребам.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.