หนึ่งในสิ่งที่ยอดเยี่ยมของ Windows คือคุณสามารถทำงานหลายอย่างได้จาก Command Prompt บนเครื่องของคุณ คุณเพียงแค่พิมพ์ cmd.exe และ Windows จะรันให้ แต่ในบางครั้ง คุณอาจพบข้อผิดพลาดอย่าง "is not recognized as an internal command"
ข้อนี้จริงๆ แล้วเป็นหนึ่งในข้อผิดพลาดที่พบบ่อยที่สุดกับ Command Prompt ตามที่ข้อความแสดงข้อผิดพลาดบอกมา มันไม่สามารถจดจำเครื่องมือที่คุณพยายามใช้กับ Command Prompt ได้ มีหลายเหตุผลที่ทำให้เกิดขึ้น และก็มีหลายวิธีในการแก้ไขข้อผิดพลาด "not recognized as an internal or external command" บนคอมพิวเตอร์ Windows ของคุณ
เหตุผลที่ทำให้เกิดข้อผิดพลาด "not recognized as an internal command"
ก่อนที่คุณจะเริ่มใช้วิธีแก้ไข การเรียนรู้ว่าทำไมข้อผิดพลาดจึงเกิดขึ้นเป็นแนวทางที่ดี เพื่อให้คุณมั่นใจได้ว่ามันไม่會เกิดซ้ำในอนาคต
แอปอื่นๆ กำลังทำลายระบบของคุณ
หนึ่งในเหตุผลที่พบบ่อยที่สุดที่คุณอาจได้รับข้อผิดพลาดนี้บนคอมพิวเตอร์คือ เพราะแอปที่ติดตั้งอยู่อีกตัวหนึ่งได้แก้ไขตัวแปรระบบของคุณ ซึ่งทำให้ Command Prompt ไม่สามารถจดจำคำสั่งเพื่อเปิดแอปหรือเครื่องมืออื่นๆ ได้
ไม่ได้ติดตั้งโปรแกรมบนคอมพิวเตอร์ของคุณ
เหตุผลที่สองที่เป็นไปได้คือ คุณไม่ได้ติดตั้งโปรแกรมที่เหมาะสมบนคอมพิวเตอร์ของคุณ อาจเป็นที่โปรแกรมติดตั้งไม่ได้วางไฟล์แอปพลิเคชันไว้ในตำแหน่งที่เหมาะสม หรือโปรแกรมติดตั้งไม่ได้เปิดใช้งานเครื่องมือเพื่อให้รันผ่าน Command Prompt
แก้ไขข้อผิดพลาด "not recognized as an internal or external command" ใน Windows
ไม่ว่าจะเป็นสาเหตุใดก็ตาม มีวิธีแก้ไขข้อผิดพลาดนี้และทำให้ Command Prompt จดจำโปรแกรมที่คุณพยายามใช้ได้
ตรวจสอบว่าโปรแกรมมีอยู่จริงบนคอมพิวเตอร์ของคุณ
สิ่งแรกที่ต้องทำคือ ตรวจสอบว่าโปรแกรมที่คุณพยายามใช้กับ Command Prompt มีอยู่จริงบนคอมพิวเตอร์ของคุณหรือไม่ คุณอาจใช้โปรแกรมติดตั้งปลอมที่บอกว่าติดตั้งสำเร็จ แต่จริงๆ แล้วอาจไม่ได้ติดตั้ง
มีวิธีง่ายๆ ในการตรวจสอบว่าโปรแกรมติดตั้งอยู่จริงหรือไม่
- เปิดหน้าต่าง File Explorer บนคอมพิวเตอร์ของคุณ
- ไปที่พาธต่อไปนี้
C:\Windows\System32\
- ตรวจสอบว่าไฟล์ Executable ที่คุณพยายามรันจาก Command Prompt มีอยู่ในโฟลเดอร์นี้หรือไม่ ถ้าไม่มี โอกาสสูงที่โปรแกรมยังไม่ได้ติดตั้งบนคอมพิวเตอร์ของคุณ
วิธีข้างต้นไม่ได้เป็นวิธีที่แน่ชัด 100% ในการตรวจสอบว่าโปรแกรมติดตั้งอยู่หรือไม่ เนื่องจากไม่ใช่ทุกโปรแกรมที่เก็บไฟล์ไว้ในโฟลเดอร์ System32 ของ Windows แต่ควรช่วยคุณค้นหาโปรแกรมส่วนใหญ่ได้
ใช้พาธเต็มของไฟล์ Executable
ข้อผิดพลาด "is not recognized as an internal command" ปกติเกิดขึ้นเพราะคอมพิวเตอร์ไม่หา Executable ที่คุณขอให้รันได้ แต่คุณสามารถระบุพาธเต็มของไฟล์ Executable ให้ มันก็จะรันได้โดยไม่มีปัญหา
- เปิดหน้าต่าง Command Prompt บนคอมพิวเตอร์ของคุณ
- พิมพ์พาธเต็มของ Executable ที่คุณต้องการใช้ แล้วกด Enter
- เช่น ถ้าคุณพยายามใช้ adb.exe ที่อยู่ในโฟลเดอร์ชื่อ adb บน Desktop คุณจะพิมพ์ประมาณนี้
C:\Users\<username>\Desktop\adb\adb.exe
- ไฟล์ควรจะเปิดได้โดยไม่มีปัญหา
ปิดพาธไฟล์ด้วยเครื่องหมายคำพูดคู่
การระบุพาธเต็มของไฟล์ Executable ไม่ได้เป็นวิธีที่มั่นใจ 100% มันก็อาจทำให้เกิดข้อผิดพลาด "is not recognized as an internal or external command" ได้เช่นกัน ถ้าใช้ไม่ถูกต้อง ปัญหาอยู่ที่พาธที่คุณระบุใน Command Prompt
ถ้าพาธเต็มของไฟล์ Executable มีช่องว่าง (Space) อยู่ภายใน นั่นจะทำให้เกิดข้อผิดพลาด เพราะ utility ไม่สามารถจดจำช่องว่างได้ มันจะใช้ตัวอักษรจนถึงช่องว่างแรกเป็นชื่อโปรแกรม เนื่องจากพาธไม่ถูกต้อง จึงเกิดข้อผิดพลาดดังกล่าว
คุณสามารถแก้ไขได้ด้วยวิธีต่อไปนี้
- ขณะพิมพ์พาธที่มีช่องว่าง (ไม่ว่าจะช่องเดียวหรือหลายช่อง) ให้ปิดพาธไว้ด้วยเครื่องหมายคำพูดคู่ (Double quotes)
- Command Prompt จะจดจำพาธทั้งหมดเป็นรายการเดียว และเปิดโปรแกรมได้อย่างเหมาะสม
ย้ายไฟล์ไปยังโฟลเดอร์ System32
ตอนนี้คุณรู้แล้วว่า เมื่อคุณพยายามรัน Executable จาก Command Prompt มันจะมองหาในโฟลเดอร์ System32 ของ Windows และเปิดไฟล์ถ้ามีอยู่ที่นั่น
ถ้าคุณวางไฟล์ Executable ของคุณไว้ที่นั่น แล้วเข้าถึงจาก Command Prompt ได้ไหม? ทำได้ตราบใดที่คุณมีสิทธิ์ Admin บนคอมพิวเตอร์
- คัดลอกไฟล์ Executable พร้อมไฟล์อื่นๆ ที่เกี่ยวข้อง ไปที่โฟลเดอร์ต่อไปนี้
C:\Windows\System32 - ปิด Command Prompt ถ้าเปิดอยู่ แล้วเปิดใหม่
- พิมพ์ชื่อไฟล์ Executable โดยไม่ต้องระบุพาธ คุณจะพบว่ามันเปิดได้สำเร็จ
แม้วิธีนี้จะทำงานได้ดีและช่วยแก้ไขข้อผิดพลาด แต่คุณควรใช้ด้วยความระมัดระวัง
เพราะทุกครั้งที่คุณต้องการใช้งานจาก Command Prompt คุณจะต้องวาง Executable ที่เหมาะสมลงในโฟลเดอร์ System32 โฟลเดอร์จะใหญ่ขึ้นเรื่อยๆ และคุณจะมีไฟล์จำนวนมากค้างอยู่ที่นั่น
นอกจากนี้ วิธีนี้ไม่ได้ใช้กับเครื่องมือ Executable ที่ต้องการการติดตั้งในไดเรกทอรีเฉพาะ คุณจะย้ายพวกเขาไป System32 ไม่ได้ เพราะพาธการติดตั้งถูกกำหนดใน Windows Registry
เราแนะนำให้ใช้วิธีนี้ก็ต่อเมื่อคุณไม่สามารถแก้ไขได้ด้วยวิธีอื่นๆ และตราบใดที่แอปพลิเคชันไม่ได้ต้องการการติดตั้ง
เพิ่มพาธไฟล์ Executable ลงใน Environment Variables
วิธีที่มีประสิทธิภาพที่สุดในการแก้ไขข้อผิดพลาด "is not recognized as an internal command" คือการแก้ไข Environment Variable และเพิ่มพาธไฟล์ที่เหมาะสมเข้าไป นั่นเป็นเพราะ Command Prompt จะมองที่พาธเหล่านั้นเมื่อคุณพิมพ์คำสั่ง และจะเปิดไฟล์ถ้ามันพบในหนึ่งในไดเรกทอรีเหล่านั้น
การเพิ่มพาธไฟล์ของคุณเข้าไป หมายถึง คุณบอก Command Prompt ว่า Executable ตัวหนึ่งอยู่ที่ไหน เมื่อคุณต้องการใช้มันด้วยชื่อสั้นในหน้าต่าง CMD
การแก้ไขตัวแปรและเพิ่มพาธใหม่ทำได้ง่ายมาก
- เปิด Control Panel โดยใช้ Cortana search บนคอมพิวเตอร์ของคุณ
- คลิกที่ตัวเลือก System and Security
- หาและคลิก System บนหน้าจอถัดไป
- เลือก Advanced system settings จากแถบด้านซ้าย
- จะมีกล่องปรากฏขึ้น คลิกปุ่ม Environment Variables ที่มุมล่างของกล่อง
- คุณจะเห็น User variables ทั้งหมดของบัญชี คลิกที่ Path แล้วคลิกปุ่ม Edit
- ตอนนี้คุณสามารถเพิ่มพาธใหม่ของแอปพลิเคชันที่ต้องการใช้กับ Command Prompt ได้ คลิก Browse ในแถบด้านขวาเพื่อเพิ่มไดเรกทอรีลงในรายการ
- ไปที่โฟลเดอร์ที่ Executable ของคุณอยู่ และเลือกมัน
- คุณควรเห็นพาธที่เพิ่งเพิ่มเข้าไปแสดงในรายการตัวแปร คลิก OK ที่ด้านล่างเพื่อบันทึกการเปลี่ยนแปลง
- คลิก OK ในกล่องอื่นๆ อีกทั้งหมดขณะปิดพวกมัน
- เปิดหน้าต่าง Command Prompt และพิมพ์ชื่อไฟล์ Executable คุณจะเห็นว่าไฟล์เปิดโดยไม่มีข้อผิดพลาดจาก CMD
ข้อผิดพลาด "is not recognized as an internal command" อาจทำให้หงุดหงิดมาก เพราะมันไม่ให้คุณใช้โปรแกรมที่คุณรู้ว่าติดตั้งไว้บนคอมพิวเตอร์แล้ว
ด้วยวิธีการข้างต้น คุณควรจะสามารถกำจัดข้อผิดพลาดนี้ และรันโปรแกรมใดๆ จากหน้าต่าง Command Prompt ได้โดยไม่มีปัญหา หากวิธีไหนช่วยแก้ไขปัญหาของคุณได้ เรายินดีถ้าคุณแชร์ในส่วนความคิดเห็นด้านล่าง