Apa perbedaan antara file .cmd dan .bat?


Jawaban:



11

Ada perbedaan semantik dalam bahasa perintah yang digunakan untuk masing-masing ( .batfile mendapatkan versi kompatibilitas). Beberapa di antaranya dapat diilustrasikan oleh skrip ini dari sini :

@echo off&setlocal ENABLEEXTENSIONS
call :func&&echo/I'm a cmd||echo/I'm a bat
goto :EOF

:func
md;2>nul
set var=1

Pada dasarnya, .cmdfile mendapatkan versi terbaru dari bahasa perintah MS, itulah sebabnya anak-anak keren menggunakannya.


2
<3 skrip cmd dikaburkan :)
grawity

Ya! Saya berdiri dikoreksi. Saya tidak pernah tahu perilaku CMD.EXE sebelumnya.
Evan Anderson

6

Menurut Wikipedia:

.bat: Ekstensi pertama yang digunakan oleh Microsoft untuk file batch. Ekstensi ini dapat dijalankan di sebagian besar Sistem Operasi Microsoft, termasuk MS-DOS dan sebagian besar versi Microsoft Windows.

.cmd: Ekstensi .cmd yang lebih baru dijelaskan oleh sistem berbasis Windows NT sebagai 'Windows NT Command Script' dan sangat membantu, karena menggunakan ekstensi .cmd daripada ekstensi .bat berarti bahwa versi Windows yang lebih lama tidak akan tahu bagaimana caranya. jalankan, sehingga mereka tidak mencoba dan salah mengira perintah untuk file gaya COMMAND.COM dan gagal menjalankan perintah gaya baru karena kurangnya ekstensi perintah, mengakibatkan skrip hanya dijalankan sebagian yang terbukti merusak (untuk contoh; gagal memeriksa penyalinan file yang berhasil dan kemudian menghapus yang asli).

Satu-satunya perbedaan yang diketahui antara pemrosesan file .cmd dan .bat adalah bahwa dalam file .cmd variabel ERRORLEVEL berubah bahkan pada perintah yang berhasil yang dipengaruhi oleh Ekstensi Perintah (ketika Ekstensi Perintah diaktifkan), sedangkan dalam file .bat variabel ERRORLEVEL hanya berubah atas kesalahan.

Semoga ini membantu.


1

Secara teori .cmd lebih "trueЪ" :) karena .bat adalah skrip untuk command.com DOS lama sementara .cmd untuk cmd.exe dari Windows NT, yang terakhir memiliki skrip yang sedikit lebih baik. Dalam kehidupan nyata biasanya keduanya sama, seperti menulis / bin / sh atau / bin / bash di Linux (berarti distro di mana sh sebenarnya bash)


0

Saya pertama kali melihat format .cmd yang digunakan di bawah OS / 2. Jika Anda berpikir dalam istilah DOS, itu seperti file .bat pada steroid. File .bat diperkenalkan pertama kali di bawah DOS tipe OS. Banyak sintaksinya serupa kecuali ketika Anda mulai masuk ke fungsi-fungsi lanjutan. Juga, file .cmd memiliki potensi untuk tidak bekerja di lingkungan 16-bit (win98) sedangkan file .bat mungkin akan berfungsi di semua lingkungan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.