Làm cách nào để nhận xét tại dấu nhắc lệnh của Windows?


67

Những gì tương đương #với phiên cmdgiao diện điều khiển Windows , để tạo một nhận xét?

Hệ điều hành là Windows XP.


1
Lưu ý rằng cmd.exetrong Windows không phảiDOS - đó là một ứng dụng Windows đầy đủ, có cú pháp tương tự nhưcommand.com
grawity

Câu trả lời:


90

REM là cách tiêu chuẩn:

REM this is a comment

Bạn cũng có thể sử dụng quy ước hai dấu hai chấm thường thấy trong các tệp bó:

:: another comment

Một dấu hai chấm theo sau bởi một chuỗi là một nhãn, nhưng dấu hai chấm và bất cứ thứ gì sau nó được âm thầm bỏ qua. Người ta có thể lập luận rằng hình thức này dễ đọc hơn REMlệnh.

Lưu ý rằng cả hai phương thức này chỉ hoạt động ở đầu một dòng. Nếu bạn muốn thêm một nhận xét vào một lệnh, bạn có thể sử dụng chúng với ký tự ghép nối lệnh ( &), như thế này:

dir & REM a comment
dir &:: another one

2
Cảm ơn. Điều này chỉ hoạt động nếu đó là điều đầu tiên gặp phải, trái ngược với việc làm một cái gì đó như thế dir :: commentnào?
Andrew Grimm

1
Đầu tiên một liên kết hữu ích . Sau đó, các nhận xét dấu hai chấm dường như không hoạt động bên trong các khối mã (mã giữa các dấu ngoặc đơn, như trong if/ forvòng lặp).
x-yuri

@efotinis, remthực sự là một lệnh? Sẽ không ::tốt hơn bởi vì chính nó đang bị bỏ qua?
Pacerier 3/2/2015

@Pacerier, có REMlà một lệnh thực tế, nhưng nó được nhúng trong CMD.EXE, vì vậy nó sẽ khá hiệu quả. Mặt khác, ::có thể nhanh hơn, vì nó bỏ qua mọi thứ ở cuối dòng (ví dụ: nó không kiểm tra các chuỗi được sử dụng &).
efotinis

2
Hãy nhớ rằng việc sử dụng ::có thể phá vỡ mã của bạn trong một số trường hợp, chẳng hạn như là dòng cuối cùng trong một khối mã.
bryc

16

Bạn tiền tố nhận xét của bạn với từ REM.

REM This is a comment.

Nhưng nếu bạn muốn bình luận của bạn được in lại cho bạn, bạn nên lặp lại nó:

echo This is a comment you'll see.

Chấp nhận làm việc, nhưng tôi chỉ ngạc nhiên hơn một chút nếu câu trả lời là BTW, như trong lolcode.com/specs/1.2#comments
Andrew Grimm

5

Các REMchỉ lệnh bài phát biểu (tức Nói gì đi như một bình luận) dòng được thực thi. Tuy nhiên, nếu @echo offkhông có trong tệp bó thì dòng đó sẽ vẫn hiển thị trên màn hình.

Để ngăn những dòng này được hiển thị, bạn có thể làm một trong ba điều.

  1. Thêm @echo vào tệp bó :
    Nếu bạn muốn ẩn tất cả các lệnh cũng như các dòng REM, hãy thêm @echo làm dòng đầu tiên trong tệp bó.
  2. Thay đổi REM thành @REM :
    Nếu bạn muốn hiển thị các lệnh khi tệp bó được chạy, nhưng vẫn muốn ẩn các dòng REM loại @REM thay vì REM.
  3. Sử dụng: :( tức là lable không hợp lệ ) thay vì REM :
    Cuối cùng, sử dụng lệnh :: làm lệnh chú thích thay vì REM cũng ngăn tiếng vang của dòng được nhận xét.

nguồn


2

Tôi tin rằng câu trả lời được cung cấp bởi bernhard là không chính xác.

Ít nhất là qua chiến thắng 7,

rem comment

trong một tập tin hàng loạt sẽ in ở đầu ra. Để chặn in, sử dụng

@ rem comment

hoặc là

@rem comment

Điều tương tự cũng xảy ra với các lệnh khác, theo mặc định được lặp lại với bàn điều khiển.


Lệnh REM commentsẽ không in bất kỳ đầu ra ra màn hình. Để trình diễn trực tiếp, hãy mở Dấu nhắc Lệnh và chạy echo commentsau đó chạy lệnh rem comment. Lưu ý rằng echolệnh in đầu ra ra màn hình trong khi remlệnh thì không.
Tôi nói Phục hồi Monica

Tôi luôn sử dụng @REM commenttrong các tập lệnh bó của mình để tránh chúng hiển thị. Tôi đã đề nghị chỉnh sửa câu trả lời của Bernards để bao gồm sử dụng @ trước REM trong các tập lệnh bó để tránh nó hiển thị thay vì đăng một câu trả lời hoàn toàn mới.
Robin Hood

3
@RobinHood, các tệp bó lặp lại tất cả các lệnh theo mặc định (cho mục đích gỡ lỗi), đó là lý do tại sao bắt đầu chúng theo thông lệ @ECHO OFF & SETLOCAL .... Bằng cách này, bạn không cần phải trả trước @tất cả các dòng và bạn có thể dễ dàng chuyển sang ECHO ONkhi có sự cố và bạn cần thực hiện một số thử nghiệm.
efotinis 3/2/2015
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.