TL; DR
เมื่อคุณเรียกใช้โปรแกรมคอนโซล 32 บิตก็จะดำเนินการโดยcmd; เมื่อคุณเรียกใช้โปรแกรมคอนโซล 16 commandบิตก็จะดำเนินการโดย
รายละเอียด
Windows XP มีระบบย่อยเพื่อรองรับแอปพลิเคชั่นแบบ 16 บิตที่เก่ากว่า
แอปพลิเคชัน 16 บิตเก่ามีให้บริการทั้งในโปรแกรม DOS และ Windows โปรแกรม DOS ตามลักษณะของมันคือแอปพลิเคชั่นคอนโซลและทำงานในรูปแบบที่พร้อมรับคำสั่ง อย่างไรก็ตามแอปพลิเคชั่นคอนโซลของ Windows แบบ 32 บิตนั้นคล้ายกันมากและดูเหมือนกัน
ตัวประมวลผลคำสั่ง / ล่ามcmdมีวัตถุประสงค์หลายประการ:
- เพื่อรันโปรแกรมคอนโซลข้อความ Windows แบบ 32 บิต
- การให้บริการและจัดการการทำงานบรรทัดคำสั่งต่าง ๆ (
dir, copyฯลฯ )
- แปลและเรียกใช้ไฟล์แบตช์ (
.batไฟล์ที่เข้ากันได้กับ DOS และ.cmdไฟล์ที่รองรับ NT )
เมื่อคุณเรียกใช้โปรแกรมคอนโซล 16 บิตเก่าจะถูกดำเนินการโดย NTVDM (เครื่อง DOS เสมือน Windows NT) มันมีระบบ DOS จำลอง (ดังนั้นเครื่อง DOS เสมือน ) ซึ่งคล้ายกับการใช้งานซอฟต์แวร์เครื่องเสมือนโดยเฉพาะยกเว้นเลเยอร์การจำลองนั้นง่ายกว่า commandเป็นตัวแปลคำสั่งรุ่น 16 บิตที่ใกล้เคียงกับ DOS จริงมากกว่าcmd.exeโปรแกรม Windows (และมีส่วนหัว Windows PE command.comซึ่งแตกต่างจากที่มีส่วนหัว DOS MZ)
commandมีวัตถุประสงค์เดียวกันcmdยกเว้นว่ารองรับเฉพาะโปรแกรมแบบ 16 บิตเท่านั้น นอกจากนี้ยังไม่รองรับ.cmdไฟล์และมีคำสั่งในตัวน้อยกว่าและมีข้อ จำกัด ในไวยากรณ์มากกว่า ( cmdเป็นล่ามบรรทัดคำสั่งที่ใหม่กว่าทันสมัยกว่าและมีความทันสมัยกว่าคล้ายกับ4DOS )
อย่างไรก็ตามมันรองรับโปรแกรม DOS แบบกราฟิก (เช่นเกมเก่า) แต่ความสำเร็จของการรันขึ้นอยู่กับไดรเวอร์การ์ดแสดงผลและลักษณะของโปรแกรม มีเว็บไซต์จำนวนมากที่เสนอเคล็ดลับต่าง ๆเพื่อให้เกม DOS สามารถทำงานบน Windows ได้ (แม้ว่าความสำเร็จใน Vista และสูงกว่ามักจะ จำกัด กว่า XP)
ควรสังเกตว่า Windows รุ่น 64 บิตได้ลดการรองรับโปรแกรม 16 บิตอย่างสมบูรณ์และดังนั้นจึงไม่รวมcommandเลยดังนั้นโปรแกรม DOS และ Windows 16 บิตจะไม่ทำงานและจะแสดงข้อความข้อผิดพลาด (ทำให้เข้าใจผิด) แทน.
บันทึกทางเทคนิค
command.comมี.comส่วนขยายสำหรับความเข้ากันได้ย้อนหลังกับโปรแกรม DOS แต่เช่นเดียวกับคำสั่ง DOS ภายนอกรุ่นอื่น ๆ ของ Windows ส่วนใหญ่ภายในเป็น.exeไฟล์Windows PE นี้จะให้สังเกตที่น่าสนใจว่าในขณะที่ Windows ใช้นามสกุลเป็นตัวบ่งชี้ของวิธีการจัดการกับที่สุดไฟล์ประเภทหนึ่งสำหรับคนที่ปฏิบัติการจะละเว้นการขยายและดูที่เนื้อหาของมัน (มิฉะนั้น.exeจะไม่ทำงานถ้าถือว่าเป็น.com) คำถามนี้เกี่ยวข้องกับผลกระทบนี้
command.comเป็นรุ่น 16 บิตแบบดั้งเดิม (ใช้ได้เฉพาะกับการติดตั้งแบบ 32 บิต) ไม่มีอยู่ใน Windows 7 รุ่น 64 บิตของฉัน