Tạo tệp .reg cho Windows 7


16

Tôi đã tạo một tệp .reg nhưng khi tôi bấm đúp vào tệp đó, nó không muốn được nhập.

Tệp được chỉ định không phải là tập lệnh đăng ký. Bạn chỉ có thể nhập tệp đăng ký nhị phân từ trong trình chỉnh sửa sổ đăng ký.

Đây là nội dung của tệp .reg

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

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

Có ai có thể giúp tôi không? Cảm ơn trước

Câu trả lời:


5

Tôi không biết làm thế nào những trích dẫn đó kết thúc trong tập tin đó, nhưng tôi sẽ cho rằng những trích dẫn đó không hoạt động (có thể bạn đã sao chép nó ra khỏi blog Wordpress).

Ngoài ra, tôi nghĩ nó nên như thế này:

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

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

1
+1 Có thể, có lẽ anh ấy đã thực hiện một số đầu vào quốc tế sử dụng các ký tự khác nhau.
Tamara Wijsman

Tôi đã không nhận thấy điều đó! Bạn nói đúng tôi đã sao chép nó ra khỏi mạng, cảm ơn bạn!
Aimumili

33

Đó không phải là cú pháp hợp lệ của tệp đăng ký, nó thiếu tiêu đề.

Thêm một dòng ở phía trước với: Windows Registry Editor Version 5.00

Kiểm tra xem có các ký tự không hợp lệ hay không, nếu bạn đã lưu tệp bằng Unicode có thể là vấn đề.


Nhưng aimumili shouold chắc chắn rằng tập tin này là unicode. REGEDIT4 nên được sử dụng cho các tập tin ansi.
crea7or

1
@ crea7or: Tệp không cần phải là Unicode cho những gì anh ta đang cố gắng chèn.
Tamara Wijsman

3
Câu trả lời này là đúng.
Gras Double

Như Gras Double nói, câu trả lời này là đúng.
pdwalker

7

Chỉ cần tổng hợp tất cả các câu trả lời cùng với một số thông tin bổ sung tôi đã khám phá.

Tiêu đề trên dòng đầu tiên: Windows Registry Editor Version 5.00

  • Một dòng trống giữa các khóa được phân tách bằng "CRLF"
  • dấu ngoặc không có dấu cách
  • giá trị trong dấu ngoặc kép
  • giá trị số nguyên / từ trong hex - chữ thường cho các chữ cái rõ ràng

Thí dụ

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

Các mã hóa được phép dường như cũng tương ứng với các chuỗi API Windows:

  • Độ rộng cố định 8 bit: Windows-1252 - gần giống với ISO-8859-1
  • Độ rộng cố định 16 bit: UCS-2LE (endian nhỏ) - về cơ bản giống như UTF-16

Lưu ý: khi trình soạn thảo văn bản nói "unicode" cho mã hóa, nó có thể có nghĩa là UTF-8 là mã hóa chiều rộng thay đổi không tương thích với Windows bên trong.

Lưu ý 2 (chỉnh sửa): ASCII là 7 bit và tất cả các bộ xử lý tôi biết đang sử dụng là sức mạnh của 2 bit, vì vậy nó sẽ luôn được bọc trong một số superset ASCII khác như 1252. #thingsyoulearnafteruni


4

Hãy xem trang web này, nó đã giúp tôi giải quyết vấn đề này: Tập tin được chỉ định không phải là tập lệnh đăng ký. - Cách mã hóa có thể phá hỏng buổi sáng của bạn

Hóa ra rằng mã hóa có thể làm hỏng buổi sáng của bạn. Nhìn vào tin nhắn tôi thấy các bản khắc chỉ nhập các tập tin đăng ký nhị phân từ Tiết ra và tôi nghĩ rằng Tại sao điều này lại nghĩ đó là nhị phân? Tại sao, thực sự. Tôi đã mở tệp sao lưu trong TextPad và thay vì chỉ nhấn Ctrl + S hoặc Save, tôi đã chọn "Lưu dưới dạng". Làm như vậy trình bày menu này, và tôi đã nhấn mạnh vấn đề của tôi:

Đúng rồi. Không cần tôi làm gì, TextPad sẽ lưu tệp này dưới dạng Unicode. Regedit mong muốn nhận được các tệp .reg được mã hóa ANSI. Vì vậy, tôi đã thay đổi Mã hóa thành ANSI, lưu tệp, chạy lại và mọi thứ đều hoạt động tốt. Nó gây cho tôi một chút thất vọng trong 20 phút tốt, vì vậy hy vọng điều này sẽ giúp người khác thoát ra.


1

Tôi gặp vấn đề tương tự vì tôi đã lưu nó dưới dạng UTF-8-BOM. Nó phải là UTF-8 mà không có BOM (Dấu thứ tự Byte). Nó đáng chú ý.


0

Bạn cũng có thể sử dụng tiện ích REG để thao tác đăng ký thông qua dòng lệnh, nếu nó phù hợp với nhu cầu của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.