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 บิตของฉัน