การสร้างไฟล์. 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 อาจเป็นไปได้ว่าบางทีเขาป้อนข้อมูลระหว่างประเทศบางอย่างที่ใช้อักขระที่แตกต่างกัน
Tamara Wijsman

ฉันไม่ได้สังเกตว่า! คุณพูดถูกฉันลอกมันออกจากเน็ตแล้วขอบคุณ!
Aximili

34

นั่นไม่ใช่รูปแบบที่ถูกต้องของไฟล์รีจิสตรี แต่ไม่มีส่วนหัว

เพิ่มบรรทัดข้างหน้าด้วย: Windows Registry Editor Version 5.00

ตรวจสอบว่ามีอักขระที่ไม่ถูกต้องหรือไม่ถ้าคุณบันทึกไฟล์ใน Unicode ที่อาจเป็นปัญหา


แต่ aximili shouold ต้องแน่ใจว่าไฟล์นี้เป็น Unicode ควรใช้ REGEDIT4 สำหรับไฟล์ ansi
crea7or

1
@ crea7or: ไฟล์ไม่จำเป็นต้องเป็น Unicode สำหรับสิ่งที่เขาพยายามแทรก
Tamara Wijsman

3
คำตอบนี้ถูกต้อง
Gras Double

อย่างที่ Gras Double กล่าวคำตอบนี้เป็นคำตอบที่ถูกต้อง
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

การเข้ารหัสที่ได้รับอนุญาตดูเหมือนจะสอดคล้องกับสตริง Windows API ซึ่ง ได้แก่ :

  • ความกว้างคงที่ 8 บิต: Windows-1252 - เกือบจะเหมือนกับ ISO-8859-1
  • ความกว้างคงที่ 16 บิต: UCS-2LE (endian น้อย) - โดยทั่วไปเหมือนกับ UTF-16

หมายเหตุ: เมื่อตัวแก้ไขข้อความระบุว่า "unicode" สำหรับการเข้ารหัสอาจหมายถึง UTF-8 ซึ่งเป็นการเข้ารหัสความกว้างของตัวแปรที่ไม่สามารถทำงานร่วมกับ Windows ภายในได้อย่างไร้เดียงสา

หมายเหตุ 2 (แก้ไข): ASCII เป็น 7 บิตและโปรเซสเซอร์ทั้งหมดที่ฉันรู้จักในการใช้งานเป็นพลังของ 2 บิตดังนั้นมันจะถูกห่อหุ้มด้วย ASCII superset อื่น ๆ เช่น 1252 เสมอ #thingsyoulearnafteruni


4

ลองดูที่เว็บไซต์นี้ช่วยฉันด้วยปัญหานี้: “ ไฟล์ที่ระบุไม่ใช่สคริปต์รีจิสตรี” - การเข้ารหัสสามารถทำลายตอนเช้าของคุณได้อย่างไร

ปรากฎว่าการเข้ารหัสสามารถทำลายเช้าของคุณ ลองดูข้อความที่ฉันเห็น "... นำเข้าไฟล์รีจิสตรีไบนารีจาก ... " เท่านั้นและฉันคิดว่า "ทำไมสิ่งนี้จึงคิดว่าเป็นไบนารี่?" ทำไมแน่นอน ฉันเปิดไฟล์สำรองใน TextPad และแทนที่จะกดปุ่ม Ctrl + S หรือบันทึกฉันเลือก "บันทึกเป็น" การทำเช่นนี้แสดงเมนูนี้และฉันได้เน้นปัญหาของฉัน:

ถูกตัอง. TextPad จะบันทึกไฟล์นี้เป็น Unicode โดยที่ฉันไม่ทำอะไรเลย Regedit คาดว่าจะได้รับไฟล์. reg ที่เข้ารหัสแบบ ANSI ดังนั้นฉันจึงเปลี่ยนการเข้ารหัสเป็น ANSI บันทึกไฟล์เรียกใช้อีกครั้งและทุกอย่างทำงานได้ดี มันทำให้ฉันหงุดหงิดเป็นเวลา 20 นาทีดังนั้นหวังว่าสิ่งนี้จะช่วยคนอื่นได้


1

ฉันมีปัญหาเดียวกันเพราะฉันบันทึกเป็น UTF-8-BOM ควรเป็น UTF-8 ที่ไม่มี BOM (เครื่องหมายคำสั่งซื้อแบบ Byte) มันน่าสังเกต


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.