ฉันจะคืนค่าไฟล์. bat เชื่อมโยงกับระบบได้อย่างไร (ทำให้ไฟล์นั้นทำงานเมื่อดับเบิลคลิก)


68

ฉันจะตั้งค่าคุณสมบัติ 'เปิดด้วย ... ' เป็นอะไรเพื่อให้ระบบเรียกใช้ไฟล์. bat อีกครั้ง (เมื่อคลิกสองครั้ง)

อย่างใดเจ้านายของฉันโน้มน้าวเวิร์กสเตชันของเขาว่าตัวจัดการ.batไฟล์ควรเป็น Word ตอนนี้เมื่อคลิกสองครั้งที่.batไฟล์พวกเขาจะเปิดขึ้นใน Word


1
ฉันไม่สามารถหา. BAT ได้ในกล่องโต้ตอบการเชื่อมโยงประเภทไฟล์ใน Windows และฉันไม่สามารถเรียกใช้กล่องโต้ตอบเปิดด้วย ... ในไฟล์. bat เขาจะเปลี่ยนมันยังไง?

3
อืมมม ... ฉันเดาว่าทำไมเขาถึงเป็นหัวหน้า ;)

3
คลิกขวาที่ไฟล์. bat -> เปิดด้วย ... -> เลือก MS Word เลือก "เปิดด้วยโปรแกรมนี้เสมอ" แล้วคลิกตกลง สวัสดีนามสกุลของคุณลงทะเบียนกับ Word แล้ว
ต้มตุ๋น Quixote

ไฟล์ bat ของฉันยังไม่มีเมนู "Open With" (Windows 7) ไฟล์อื่นมีอยู่แน่นอน
lbalazscs

1
FYI ไฟล์. bat ไม่สามารถเรียกใช้งานได้ พวกเขาตีความสคริปต์
Keltari

คำตอบ:


58

ฉันคิดว่าคุณจะต้องลบการเชื่อมโยงไฟล์. bat ออกจากรีจิสทรี (โดยใช้โปรแกรม regedit)

ตามกระทู้ในฟอรัมนี้ใน LockerGnomeคุณต้องลบการตั้งค่ารีจิสทรีที่อยู่ใต้คีย์นี้:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat

คุณอาจต้องการสำรองข้อมูลรีจิสทรีก่อนทำเช่นนี้เพื่อความปลอดภัย


28
สำหรับมินิมัลลิสต์ของคุณฉันจะเพิ่มว่าฉันประสบความสำเร็จโดยการลบเฉพาะโฟลเดอร์ย่อยของ UserChoice เมื่อมันหายไปการดำเนินการเริ่มต้นจะถูกเรียกคืน HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat \ UserChoice
ทำเครื่องหมาย F Guerra

ฉันลบ.batคีย์ทั้งหมดและสิ่งต่าง ๆ กลับมาเป็นปกติ ด้วยเหตุผลบางอย่าง (ฉันสงสัยว่ามีไวรัส) ฉันไม่สามารถเปลี่ยนชื่อUserChoiceคีย์ได้
Kim Gräsman

ช่างเป็นความเจ็บปวด !! และสิ่งนี้เกิดขึ้นโดยอัตโนมัติในการอัปเดต ขอบคุณมัด MS
Jus12

ในเส้นทางHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.batฉันนำUserChoiceกุญแจออกอย่างสมบูรณ์ซึ่งทำงานได้ดีสำหรับฉัน @Kim - คุณอาจไม่ได้ทำงานregedt32ในฐานะผู้ดูแลระบบ (คลิกขวาและเลือกRun as administrator)?
แมตต์

มีอีกหลายเหตุผลที่เป็นไปได้ / สถานที่รีจิสทรี ดูคำตอบอื่น ๆ และคำตอบของฉันพยายามสรุป
kxr

32

ไฟล์รีจิสตรีคีย์นี้จะทำ คัดลอกและวางไปยังไฟล์ข้อความชื่อ "restore.reg" และดับเบิลคลิกเพื่อรวมเข้าในรีจิสทรี

มันจะล้างออกใด ๆ ต่อผู้ใช้ตั้งค่าที่คุณอาจได้สร้าง accidentlly สำหรับไฟล์ค้างคาวและการคืนค่าเริ่มต้นของระบบรวมทั้ง.bat<-> ไฟล์สัมพันธ์ประเภทเช่นเดียวกับพารามิเตอร์ที่แท้จริงสำหรับการเปิดตัวbatfilebatfile

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]
[-HKEY_CURRENT_USER\Software\Classes\.bat]
[-HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
@="batfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]
@="\"%1\" %*"

นอกจากนี้ยังต้องเรียกใช้ไฟล์ cmd บนเครื่องของฉันด้วย
mohlsen

1
ฉันใช้อันนี้ที่ดูเหมือนว่าจะทำงานได้ดี
Håkon K. Olafsen

หลังจากทำเช่นนี้ในขณะที่คู่ไฟล์คลิกค้างคาว, ฉันได้รับข้อผิดพลาดเช่น "a.bat ไม่ได้เป็นโปรแกรม win32 ถูกต้อง"
rashok

ทำงานได้อย่างสมบูรณ์ แต่ต้องรับผลกระทบฉันต้องฆ่าexplorer.exeและเรียกใช้เป็นงานใหม่อีกครั้งโดยใช้ตัวจัดการงาน
Dave Anderson

อันนี้แก้ไขได้ถ้าสำหรับฉันคำตอบที่เลือกไม่ได้มันยังคงขอให้แอปเปิดไฟล์. bat
JDuarteDJ

10

ฉันมีปัญหาเดียวกัน (ใน Windows 7); ไฟล์แบตช์กำลังเปิดใน Notepad แทนที่จะถูกดำเนินการ

การแก้ไขรีจิสทรีด้านล่างสำหรับไฟล์. bat (ตามเครื่องอื่น ๆ ที่ใช้งาน) จะทำให้แบตช์ทำงานอย่างถูกต้อง:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\

.bat                --> default-> Value not set
.bat/OpenWithList   --> default-> Value not set
.bat/OpenWithProgIds--> default-> Value not set
                        batfile-> Zero length binary values 

เก็บรายการเหล่านี้ แต่เอาคนอื่น ๆ .batทั้งหมดอยู่ภายใต้ รีเฟรชและเรียกใช้ไฟล์แบตช์โดยดับเบิลคลิก - มันจะทำงานได้อย่างถูกต้อง


7

คำตอบข้างต้นไม่ได้แก้ไขสำหรับเครื่องที่ฉันทำงานด้วย แต่สิ่งที่แก้ไขมันคือการเริ่ม Admin เชลล์และทำงาน

assoc .bat=batfile
assoc .cmd=batfile

1
นี่เป็นวิธีแก้ปัญหาสำหรับ Win 2008 Server, cmd run as Administrator ไม่ต้องรีสตาร์ท Explorer.exe หรือ Windows
TonyG

ไม่ทำงาน?????????????????
YumYumYum

2
สิ่งนี้ใช้ได้กับฉันใน Windows 10
htxryan

ไม่ไม่ทำงานบน Windows Server 2012
Toolkit

ด้วยRun as Administratorสิ่งนี้ทำงานได้อย่างสมบูรณ์แบบสำหรับฉันบนWindows 10 !! :-) ตอนนี้ (ติดตั้ง) ไฟล์. exe ที่เรียกไฟล์. bat ทำงานได้ตามที่คาดไว้ วิธีนี้ดีกว่าต้องยุ่งกับรีจิสทรี! ในฐานะที่เป็น sidenote เพื่อที่จะเห็นสิ่งที่สมาคมในปัจจุบันมีเพียงพิมพ์assoc .batในกรณีของฉันทั้งสอง.batและcmd ได้รับการNotepad++_fileเชื่อมโยงเป็น ตอนนี้.batfileการคลิกขวาบนไฟล์ bat ทำให้ฉันสามารถ RUN หรือ Run as Administrator ก่อนหน้านี้มันเป็นไปไม่ได้ ก่อนหน้านี้การแก้ปัญหาของฉันคือการเปิดหน้าต่าง cmd จากนั้นพิมพ์ a filename.batเพื่อเรียกใช้ไฟล์ด้วยตนเอง
SherylHohman

3

ข้อมูลในคำตอบนี้ทำให้ฉันวิธีการแก้คำถามของฉัน

ฉันเปิดคีย์รีจิสทรีที่กล่าวถึงที่นั่นและ

  • ลบUserChoiceรหัส
  • ลบรายการทั้งหมดภายใต้OpenWithListคีย์

2

คำตอบที่ได้รับ 40 โหวตโดย Kaleb ไม่ได้ผลสำหรับฉัน แต่ฉันสิ้นสุดการค้นหาคำตอบ ในการรับไฟล์ bat ให้ทำงานอีกครั้งคุณต้องไปที่:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes.bat] และตั้งค่า (ค่าเริ่มต้น) เป็น "batfile" หากคุณมีสคริปต์แบตช์ที่เปิดใน Word หรือ Notepad ++ แทนที่จะเรียกใช้เมื่อดับเบิลคลิกนั่นเป็นเพราะโปรแกรมเหล่านั้นได้ตั้งค่า (ค่าเริ่มต้น) เป็น mimes ของตัวเอง

หากคุณต้องการการแก้ไขด่วนเพียงเปิดไฟล์ข้อความและวาง:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
    @="batfile"

และบันทึกด้วยส่วนขยาย. reg และดับเบิลคลิกเพื่อรวม


1

ในรายการ regisrty คุณ. batจำเป็นต้องชี้ไปที่รายการbatfile :

[HKEY_CLASSES_ROOT\.bat]
@="batfile"
.....

โดยปกติคุณจะต้องแน่ใจว่าคุณมีรายการรีจิสทรีbatfile :

[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
.....

1

ใน Windows 8 ใช้ Notepad เพื่อสร้างหรือแก้ไขไฟล์ Batch แต่ความลับมีดังต่อไปนี้:

บันทึกไฟล์แบตช์โดยใช้เครื่องหมายคำพูดคู่ ใช้ "MYBACK.BAT" อย่างแท้จริงโดยใช้เครื่องหมายคำพูดคู่ในกล่องบันทึกเพื่อบันทึกไฟล์ แทนที่จะเป็น MYBACK.BAT


จริง (เหมือนกันกับ Windows / Notepad รุ่นก่อนหน้า) แต่นั่นจะตอบคำถามได้อย่างไร
Arjan

0

เนื้อหาของรีจิสทรีแตกต่างกันไปตามรุ่นของ Windows

ผมขอแนะนำให้คุณพบว่าคอมพิวเตอร์เครื่องอื่นที่มี O เดียวกัน / รุ่น S และใช้ regedit ในการส่งออกเนื้อหาของและHKEY_CLASSES_ROOT\.batHKEY_CLASSES_ROOT\batfile

จากนั้นไปที่เครื่องของบอสลบสองปุ่มด้านบนและนำเข้าไฟล์ทั้งสอง


0

เพื่อหลีกเลี่ยงความยุ่งยาก (และสำหรับคนจำนวนมาก scariness และการข่มขู่) ของการแก้ไขรีจิสทรีคุณสามารถใช้ฟรีที่ยอดเยี่ยมและไม่รุกรานสาธารณูปโภคซ่อมแซมซึ่งอันที่จริงสำเร็จที่ดีใด ๆ (เทียบกับหลาย crapware อื่น ๆ ) tweaking.com Windows ซ่อม

โดยเฉพาะ: ติดตั้งข้ามไปที่แท็บ "ซ่อมแซม" คลิก "เปิดการซ่อมแซม" และใส่เครื่องหมายถูกใน "04 ลงทะเบียนระบบไฟล์" จากนั้นคลิกปุ่ม "เริ่มซ่อมแซม"

อินเทอร์เฟซผู้ใช้ของโปรแกรมนั้นเปลี่ยนแปลงไปตามเวลาดังนั้นในอนาคตใครก็ตามที่ทำสิ่งนี้อาจต้องสำรวจโปรแกรมเพื่อค้นหาตัวเลือกนี้

ฉันเดาว่ามีปัญหาอื่น ๆ อีกมากมายที่มีอยู่ในคอมพิวเตอร์ของคุณดังนั้นเขาอาจต้องการซ่อมแซมโปรแกรมทั้งหมดซึ่งอาจใช้เวลาเป็นชั่วโมง

หมายเหตุ: ฉันไม่ได้มีส่วนเกี่ยวข้องกับ tweaking.com ฉันแค่เป็นแฟนตัวยงของรายการ การใช้งานอย่างมีฝีมือนั้นได้บันทึกระบบปฏิบัติการของคอมพิวเตอร์ของฉันหรือแก้ไขปัญหาปากแข็งหลายครั้ง


0

อีกครั้งไม่มีคำตอบก่อนหน้านี้ที่นี่
ผมยกตัวอย่างเช่นมีการเปลี่ยนค่าเริ่มต้นของ[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell] จากไปeditopen

(เมื่อฉันเปลี่ยนประเภทไฟล์ที่ขยายความสัมพันธ์ในกล่องโต้ตอบตัวเลือกโฟลเดอร์ Explorer ไฟล์ BAT เคย & ไม่ได้เสนอให้มีการเปลี่ยนแปลงดูเหมือนว่าจะมีข้อยกเว้นพิเศษ แต่ฉันจำได้เมื่อฉันเพิ่มประเภท BAT ในกล่องโต้ตอบตัวเลือกโฟลเดอร์ Explorer เพื่อให้ 'แก้ไข' เป็นคำกริยาเชลล์เริ่มต้น)

สถานที่ต่าง ๆ เพื่อตรวจสอบ

ดังนั้นหลังจากทั้งหมดมีเหตุผลที่แตกต่างกันและเวอร์ชั่นของ OS ที่แตกต่างกันและ (อย่างน้อย) ค่า (ค่าเริ่มต้น) ของโฟลเดอร์รีจิสตรีต่อไปนี้ (และโฟลเดอร์ย่อย) จะต้องได้รับการตรวจสอบโดยใช้สามัญสำนึกบางประการ :-) และฉันคิดว่ารายการอาจสะท้อนถึงลำดับความสำคัญที่เกี่ยวข้องกับระบบปฏิบัติการ:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]  (if present: remove "UserChoice")
[HKEY_CURRENT_USER\Software\Classes\.bat]  (if present: @ = "batfile")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]  (if present)
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell]  (if present: @ = "open")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell\open\command]  (if present: @ = "\"%1\" %*")
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]  @ = "batfile"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell]  @ = "open"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]  @ = "\"%1\" %*"
[HKEY_CLASSES_ROOT\.bat]  @ = "batfile"
[HKEY_CLASSES_ROOT\batfile]
[HKEY_CLASSES_ROOT\batfile\shell]  @ = "open"
[HKEY_CLASSES_ROOT\batfile\shell\open\command]  @ = "\"%1\" %*"
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.