Saya berdebat dengan teman saya bahwa Command Prompt hanyalah versi GUI dari MS-DOS yang bekerja di lingkungan bentuk Windows. Dia benar-benar tidak setuju dengan saya.
Siapa yang benar?
windows
command-line
ms-dos
pengguna978733
sumber
sumber
cmd.exe
adalah binatang yang sama sekali berbeda dari MS-DOS.Jawaban:
Ini benar sekali, tetapi sekarang tidak lagi.
Dari MS-DOS # antarmuka baris perintah Windows - Wikipedia :
Jadi tidak, di setiap Windows dari keluarga NT (misalnya, XP, Vista, 7, 8), command prompt dan MS-DOS secara visual serupa, tetapi sangat berbeda.
sumber
cmd.exe
itucommand.com
, bagian yang agak kecil dari MSDOS.Mereka adalah hal-hal yang berbeda - Prompt Perintah Bukan MS-DOS - tetapi sejauh pengguna khawatir mereka bisa menjadi hal yang sama seperti mereka melakukan hal yang sama.
Jadi itu tergantung pada sudut pandang Anda. Dari sudut pandang teknis teman Anda itu benar, tetapi dari perspektif pengguna Anda benar (semacam ada perbedaan yang ahli akan melihat).
sumber
Tidak.
(Kecuali definisi Anda tentang kesetaraan tidak melampaui masa lalu » Ini adalah antarmuka teks dan saya dapat menjalankan program darinya. « )
Apa yang dijalankan ketika Anda mengklik Command Prompt di Start Menu adalah Windows Command Processor, alias
cmd.exe
. Perintah bawaan dan sintaks skrip (termasuk banyak quirks) didasarkan pada kunocommand.com
dari CP / M dan kemudian MS-DOS, tetapi selain itu mereka adalah hal yang benar-benar terpisah. Juga,command.com
adalah program 16-bit sedangkancmd.exe
aplikasi konsol Windows asli.Hal yang berbeda pada Windows 95, 98 dan ME di mana
command.com
akan dijalankan dalam MS-DOS VM dengan Windows bertindak sebagai hypervisor (ya, mereka sudah memiliki hal semacam itu pada saat itu). Di sana Anda memiliki seluruh mesin virtual yang menjalankan DOS. Tetapi pada Windows NT, 2000, XP, Vista dan 7 - tidak. DOS hanya tinggal di sanantvdm.exe
yang merupakan NT Virtual DOS Machine yang hanya merupakan lapisan emulasi yang menangkap panggilan yang tidak dapat dieksekusi CPU secara langsung (itulah sebabnya ia bekerja lebih cepat tetapi lebih buruk daripada DOSBox).Bagaimanapun, bahkan
command.com
hanya sebuah shell untuk DOS. Itu bukan sistem operasi.Di dalam, saya benar-benar merasa ngeri setiap kali saya melihat orang merujuk ke jendela dengan teks abu-abu sebagai MS-DOS. Dalam sebagian besar kasus mereka tidak benar-benar tahu apa yang mereka maksud.
sumber
Dari apa yang saya mengerti, MS-DOS adalah sistem operasi disk yang dirilis Microsoft. Prompt perintah adalah antarmuka non-grafis yang memungkinkan Anda berinteraksi dengan sistem operasi Anda.
Command Prompt adalah aplikasi juru bahasa baris perintah yang tersedia di sebagian besar sistem operasi Windows, secara resmi disebut Windows Command Processor tetapi kadang-kadang disebut command shell. Command Prompt adalah program Windows yang meniru banyak kemampuan command line yang tersedia di MS-DOS tetapi sebenarnya bukan MS-DOS.
Command Prompt adalah versi GUI dari command.com di MS-DOS. cmd.exe adalah aplikasi Windows asli yang biasanya berjalan di konsol Win32. Ini memungkinkannya memanfaatkan fitur yang tersedia untuk program asli pada platform yang tidak tersedia untuk program DOS.
Misalnya, karena cmd.exe adalah aplikasi mode teks asli pada OS / 2, ia dapat menggunakan pipa nyata dalam pipa perintah, yang memungkinkan kedua sisi pipa berjalan bersamaan. Akibatnya, dimungkinkan untuk mengarahkan kesalahan standar di cmd.exe, tidak seperti COMMAND.COM. (COMMAND.COM menggunakan file sementara, dan menjalankan dua sisi secara berurutan, satu demi satu.)
Pada kenyataannya, cmd.exe adalah program Windows yang bertindak sebagai penerjemah baris perintah mirip DOS. Ini umumnya kompatibel, tetapi menyediakan ekstensi yang mengatasi beberapa batasan COMMAND.COM (penjelasan di atas disebut oleh Wikipedia).
sumber
Temanmu benar. MS-DOS adalah / adalah Sistem Operasi (Sistem Operasi Disk Microsoft adalah singkatan dari). UI untuk DOS disebut prompt perintah ( the ).
Beberapa versi pertama Windows berjalan di atas DOS (menjadikannya lingkungan yang secara teknis beroperasi, meskipun saya tidak yakin ada yang membuat perbedaan lagi), tetapi kemudian OS, dimulai dengan NT Kernel, tidak - DOS hilang.
Namun, orang masih membutuhkan fungsionalitas yang disediakan oleh command prompt, dan alih-alih command.com kita mendapatkan command.exe (dan sekarang cmd.exe), yang ketika dijalankan memberi kita prompt perintah.
Tapi, itu bukan satu-satunya (atau di mana pun di dekat yang pertama) command prompt yang digunakan orang. Command Prompts juga disebut Shells, dan Unix memiliki banyak, dan perintahnya berbeda dan seringkali sangat kuat. Berbicara tentang Power, Microsoft telah menciptakan command prompt baru untuk Windows yang disebut PowerShell yang sangat kuat dan menarik. Lihat Wikipedia untuk lebih lanjut: http://en.wikipedia.org/wiki/Command-line_interface#Operating_System_Command-Line_Interfaces
sumber
Mereka tidak sama!
Pertama karena perbedaan dalam platform (DOS vs Windows) dan interpreter (command.com vs cmd.exe), akan ada perbedaan yang jelas seperti
mode con:cols=COL lines=ROW
perintah untuk mengubah ukuran konsol, dan tidak adatitle
perintahTetapi ada juga perbedaan besar dalam kemampuan dan sintaksis perintah internal antara command.com dan cmd.exe, serta beberapa alat eksternal di dua lingkungan. Di MS-DOS ada
Tidak ada fungsi, blok kode,
()
dan cakupan lokal yang berartifor
,if
... harus diikuti oleh satu perintah pada baris yang samaexit /b
ataugoto :eof
setlocal
danendlocal
goto
hanya dapat melompat ke label,call
hanya dapat memulai file batch lainperintah tidak dapat dikelompokkan bersama seperti
Tidak ada karakter melarikan diri
^
. Mencetak karakter khusus akan menyebalkan, dan tidak ada kemungkinan menjalankan perintah multilineif
if cmdextversion
danif defined
if [/i] string1 compare-op string2
call set %%var%suffix%=string
) Dari variabel dan tidak ada ekspansi yang tertunda (misalnyaecho !var%suffix%!
)~xxxV
dukungan variabel%variable:~num1,num2%
dukungan pengganti substrat atau string%variable:str=newstr%
set
, danset /a
jadi kamu tidak bisa melakukan aritmatikaset /p
yang berarti membaca input pengguna adalah menyebalkanset "var=value"
sintaks%*
untuk seluruh baris perintahfor /d
,for /r
ataufor /l
. Tidakfor /f
jadi membaca input dari file juga sulit. Satu-satunya bentukfor
dalam DOS adalahFOR %variable IN (set) DO command [command-parameters]
findstr
, danfind
tidak mendukung Unicode%CD% %DATE% %TIME% %RANDOM% %ERRORLEVEL% %CMDEXTVERSION% %CMDCMDLINE% %HIGHESTNUMANODENUMBER%
pushd/popd
cd /d
. Juga tidakcd path with spaces
dancd "path with spaces"
karena kurangnya dukungan nama file yang panjangcolor
forfiles
assoc
(karena tidak ada GUI dan file harus dibuka secara manual dari baris perintah, jadi tidak diperlukan asosiasi file)Banyak perintah eksternal yang berguna di Windows seperti di mana, urutkan, lebih banyak (dalam beberapa versi DOS), pilihan ... juga hilang dalam DOS
Dan inilah yang dikatakan MS 'Rich Turner
Bacaan lebih lanjut
.bat
perbedaan file modern dari file MS DOS lama.bat
?Kesimpulannya, dari segi fungsionalitas mereka mungkin sedikit mirip, tetapi sebaliknya sangat berbeda
sumber