Sự khác biệt giữa các tập tin .cmd và .bat là gì?


Câu trả lời:



10

Có sự khác biệt về ngữ nghĩa trong ngôn ngữ lệnh được sử dụng cho mỗi ( .battệp có phiên bản tương thích). Một số trong số này có thể được minh họa bằng kịch bản này từ đây :

@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

Về cơ bản, .cmdcác tệp có được phiên bản hiện tại, quyến rũ hơn của ngôn ngữ lệnh MS, đó là lý do tại sao những đứa trẻ tuyệt vời sử dụng chúng.


2
<3 tập lệnh cmd bị xáo trộn :)
grawity

Các bạn! Tôi đứng sửa. Tôi chưa bao giờ biết rằng hành vi của CMD.EXE trước đây.
Evan Anderson

6

Theo Wikipedia:

.bat: Phần mở rộng đầu tiên được Microsoft sử dụng cho các tệp bó. Tiện ích mở rộng này có thể được chạy trong hầu hết các Hệ điều hành Microsoft, bao gồm MS-DOS và hầu hết các phiên bản Microsoft Windows.

.cmd: Phần mở rộng .cmd mới hơn được các hệ thống dựa trên Windows NT mô tả là 'Tập lệnh lệnh Windows NT' và rất hữu ích, vì sử dụng phần mở rộng .cmd thay vì phần mở rộng .bat có nghĩa là các phiên bản Windows trước đó sẽ không biết cách chạy nó, do đó họ không cố gắng và nhầm các lệnh cho các tệp kiểu HOL.COM và không chạy các lệnh kiểu mới do thiếu phần mở rộng lệnh, dẫn đến các tập lệnh chỉ được chạy một phần có thể gây hại (cho ví dụ: không kiểm tra sao chép thành công một tệp và sau đó xóa bản gốc bằng mọi cách).

Sự khác biệt duy nhất được biết giữa xử lý tệp .cmd và .bat là trong tệp .cmd, biến ERRORLEVEL thay đổi ngay cả trên một lệnh thành công bị ảnh hưởng bởi Phần mở rộng lệnh (khi Tiện ích mở rộng lệnh được bật), trong khi trong tệp .bat biến ERRORLEVEL chỉ thay đổi khi có lỗi.

Hi vọng điêu nay co ich.


1

Về lý thuyết .cmd là "trueЪ" :) vì .bat là tập lệnh cho lệnh DOS cũ.com trong khi .cmd dành cho cmd.exe từ Windows NT, phần cuối cùng có kịch bản được cải thiện hơn một chút. Trong cuộc sống thực, cả hai thường bằng nhau, như viết / bin / sh hoặc / bin / bash trong Linux (nghĩa là các bản phân phối trong đó sh thực sự là bash)


0

Lần đầu tiên tôi thấy định dạng .cmd được sử dụng trong OS / 2. Nếu bạn đang nghĩ theo thuật ngữ DOS, thì nó giống như một tệp .bat trên steroid. Các tập tin .bat được giới thiệu đầu tiên trong hệ điều hành kiểu DOS. Rất nhiều cú pháp tương tự ngoại trừ khi bạn bắt đầu có được các chức năng nâng cao. Ngoài ra, tệp .cmd có khả năng không hoạt động trong môi trường 16 bit (win98) trong khi tệp .bat có thể sẽ hoạt động trong tất cả các môi trường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.