TL; DR
Ketika Anda menjalankan program konsol 32-bit, itu dijalankan oleh cmd
; ketika Anda menjalankan program konsol 16-bit, itu dijalankan oleh command
.
Detail
Windows XP mencakup subsistem untuk mendukung aplikasi 16-bit yang lebih lama.
Aplikasi 16-bit lama tersedia sebagai program DOS dan Windows. Program DOS pada dasarnya adalah aplikasi konsol dan dijalankan dalam apa yang tampak seperti command-prompt. Namun aplikasi konsol Windows 32-bit sangat mirip dan terlihat sama.
Pemroses perintah / juru bahasa cmd
memiliki beberapa tujuan:
- Untuk menjalankan program konsol Windows teks 32-bit
- Untuk memberikan dan menangani berbagai fungsi command-line (
dir
, copy
, dll)
- Menafsirkan dan mengeksekusi file batch (
.bat
file yang kompatibel dengan DOS dan .cmd
file yang kompatibel dengan NT )
Ketika Anda menjalankan program konsol 16-bit lama, itu dijalankan oleh NTVDM (Windows NT Virtual DOS Machine). Ini menyediakan sistem DOS yang ditiru (karenanya mesin DOS virtual ) yang mirip dengan menjalankan perangkat lunak mesin virtual khusus, kecuali lapisan emulasi lebih sederhana. command
adalah versi 16-bit dari command-interpreter yang jauh lebih dekat dengan DOS sebenarnya daripada cmd.exe
yang sebenarnya merupakan program Windows (dan memiliki header Windows PE, tidak seperti command.com
yang memiliki header DOS MZ).
command
memiliki tujuan yang sama seperti cmd
kecuali bahwa itu hanya mendukung program 16-bit. Selain itu, ia tidak mendukung .cmd
file dan memiliki lebih sedikit perintah bawaan dan lebih terbatas dalam sintaksisnya ( cmd
adalah penerjemah baris perintah yang lebih baru, lebih modern, lebih maju, mirip dengan 4DOS ).
Namun, ini mendukung program DOS grafis (seperti game lama), tetapi keberhasilan menjalankannya tergantung pada driver kartu video dan sifat program. Ada banyak situs yang menawarkan berbagai trik untuk menjalankan game DOS di Windows (walaupun keberhasilan di Vista dan yang lebih tinggi biasanya lebih terbatas daripada di XP).
Perlu dicatat bahwa Windows versi 64-bit telah sepenuhnya menjatuhkan dukungan dari program 16-bit, dan karenanya tidak termasuk command
sama sekali, sehingga baik program DOS maupun Windows 16-bit tidak akan berjalan dan sebagai gantinya akan mengirimkan pesan kesalahan (menyesatkan) .
Catatan teknis
command.com
memiliki .com
ekstensi untuk kompatibilitas mundur dengan program DOS, tetapi seperti kebanyakan versi Windows lainnya dari perintah DOS eksternal, secara internal, itu sebenarnya adalah .exe
file Windows PE . Ini memberikan pengamatan menarik bahwa sementara Windows menggunakan ekstensi sebagai indikator bagaimana menangani sebagian besar tipe file, untuk yang dapat dieksekusi, ekstensi tersebut mengabaikan ekstensi dan melihat isinya (jika .exe
tidak, tidak akan berfungsi jika diperlakukan sebagai a .com
). Pertanyaan ini berkaitan dengan efek ini.
command.com
adalah versi 16bit lama (hanya tersedia pada instalasi 32bit). Itu tidak ada pada versi 64bit saya dari Windows 7.