เมื่อรัน batch file Command Prompt จะเปิดและปิดอัตโนมัติหลังประมวลผล batch file บางครั้งคำสั่งทำงานเร็วจนดูเหมือน Command Prompt ปิดทันทีหลังเปิด batch (BAT) file ป้องกันไม่ให้ผู้ใช้ทำงานอื่นหลังรัน batch file หรือดูสถานะคำสั่งที่รันใน CMD หากต้องการให้หน้าต่าง Command prompt คงอยู่หลังประมวลผล batch file บทความนี้ช่วยได้

Command prompt ปิดทันทีหลังเปิด batch file
ป้องกันไม่ให้ Command Prompt ปิดทันทีหลังเปิด batch file ได้ 3 วิธี:
- ใช้คำสั่ง Pause
- ใช้คำสั่ง cmd /k
- แก้ไข Registry keys
มาดูวิธีแต่ละอย่าง
1. ป้องกัน Command Prompt ปิดทันทีด้วยคำสั่ง Pause
คำสั่ง Pause ป้องกันไม่ให้ Command Prompt ปิดหลังประมวลผล batch file

ทำตามขั้นตอน:
- คลิกขวา batch file เลือก Edit จะเปิด Notepad
- พิมพ์ Pause ท้ายคำสั่งที่พิมพ์ใน batch file
- บันทึกไฟล์
ตอนเปิด batch file Command Prompt จะไม่ปิดอัตโนมัติหลังประมวลผล แทนที่จะแสดงข้อความ "Press any key to continue…" กดปุ่มใดปุ่มหนึ่ง Command Prompt จะปิด
คำสั่ง Pause ให้ดูได้แค่ว่าคำสั่งทำงานยังไง หากต้องการให้ Command Prompt คงอยู่เพื่อรันคำสั่งอื่นในหน้าต่างเดียวกัน ต้องใช้วิธีถัดไป
2. ป้องกัน Command Prompt ปิดด้วยคำสั่ง cmd /k

คำสั่ง cmd /k ให้รันคำสั่งใหม่หลังประมวลผล batch file โดยไม่ปิด Command Prompt คลิกขวา batch file พิมพ์ cmd /k ท้าย batch file แล้วบันทึก
3. แก้ไข Registry key เพื่อหยุด Command Prompt ปิด
สองวิธีข้างต้นหยุด Command Prompt ปิดทันทีหลังประมวลผล batch file แต่ข้อบกพร่องคือ ต้องใช้คำสั่งเหล่านั้นในทุก batch file หากมี batch file หลายตัว ต้องแก้ทั้งหมด

ข้ามการแก้ batch files ได้โดยแก้ Registry keys อธิบายขั้นตอนด้านล่าง ก่อนดำเนินการ แนะนำสร้าง backup Registry
1] เปิด Run command box พิมพ์ regedit คลิก OK คลิก Yes หากมี UAC prompt
2] ใน Registry Editor ไปที่พาธ:
HKEY_CLASSES_ROOT\batfile\shell\open\command HKEY_CLASSES_ROOT\cmdfile\shell\open\command
จะเจอค่า "(Default)" ด้านขวา ดับเบิลคลิกค่านั้น เปลี่ยน Value data เป็น cmd.exe /k "%1" %* คลิก OK บันทึก ปิด Registry Editor
หากลอง 3 วิธีข้างต้น Command prompt ยังปิดอัตโนมัติ ลองวิธีต่อไป:
- รัน SFC scan
- Troubleshoot ใน clean boot state
- Reset PC
1. รัน SFC scan
System File Checker (SFC) เป็น utility จาก Microsoft สแกนไฟล์ระบบหาข้อผิดพลาด/การเสียหาย และซ่อมไฟล์ที่เสียหาย ปัญหาที่เจออาจมาจากไฟล์ระบบเสียหาย การรัน SFC scan อาจช่วยแก้ได้
2. Troubleshoot ใน clean boot state
บางครั้งโปรแกรมที่ผิดปกติสร้างปัญหาหลายอย่างบน Windows PC สามารถระบุโปรแกรมที่ผิดปกติได้โดย troubleshoot ใน clean boot state หากพบโปรแกรมที่เป็นสาเหตุ พิจารณาถอนการติดตั้ง
3. Reset PC
หาอะไรไม่ช่วยแก้ error ลอง reset PC
หวังว่าช่วยได้
รัน EXE จาก Command Prompt ยังไง?
เพื่อรัน EXE จาก Command Prompt:
1] เปิด Command Prompt
2] พิมพ์ cd "file path" โดยไม่ต้องมี quotation marks กด Enter file path คือตำแหน่งติดตั้งไฟล์ EXE เพื่อรู้ตำแหน่งไฟล์ คลิกขวาไอคอน shortcut ของโปรแกรมที่ต้องการเปิดผ่าน CMD เลือก Open file location คลิก address bar ของ File Explorer คัดลอกพาธทั้งหมด วางใน Command Prompt ได้ด้วย Ctrl + V
3] พิมพ์ start "filename.exe" โดยไม่ต้องมี quotation marks กด Enter
จะเปิดไฟล์ EXE
เก็บหน้าต่างคำสั่งเปิดไว้ใน batch file ยังไง?
ใช้ Pause หรือ cmd /k เพื่อเก็บหน้าต่างคำสั่งเปิดไว้ใน batch file หากต้องการทำให้ถาวร แก้ไข keys บางส่วนใน Registry เราอธิบาย 3 วิธีข้างต้นแล้ว
เกี่ยวข้อง: Command Prompt cmd.exe กระโดดขึ้นมาตอน Startup.
