Bagaimana saya melakukan komentar pada prompt perintah Windows?

61

Apa yang setara dengan #untuk cmdsesi konsol Windows , untuk membuat komentar?

Sistem operasinya adalah Windows XP.

Andrew Grimm
sumber
1
Perhatikan bahwa cmd.exedi Windows tidak DOS - itu aplikasi penuh windows yang hanya memiliki sintaks mirip dengancommand.com
grawity
Kemungkinan rangkap dari gaya komentar mana yang harus saya gunakan dalam file batch?
Michael Freidgeim

Jawaban:

83

REM adalah cara standar:

REM this is a comment

Anda juga bisa menggunakan konvensi usus besar ganda yang biasa dilihat dalam file batch:

:: another comment

Sebuah titik dua yang diikuti oleh sebuah string adalah sebuah label, tetapi titik dua dan apa pun setelahnya diabaikan. Orang bisa berpendapat bahwa formulir ini lebih mudah dibaca daripada REMperintah.

Perhatikan bahwa kedua metode ini hanya berfungsi di awal baris. Jika Anda ingin menambahkan komentar ke perintah, Anda dapat menggunakannya dengan karakter gabungan perintah ( &), seperti ini:

dir & REM a comment
dir &:: another one
efotinis
sumber
2
Terima kasih. Apakah ini hanya berfungsi jika itu hal pertama yang ditemui, sebagai lawan melakukan sesuatu seperti dir :: comment?
Andrew Grimm
1
Pertama, tautan yang bermanfaat . Kemudian, komentar titik dua tidak berfungsi di dalam blok kode (kode di antara tanda kurung, seperti di if/ forloop).
x-yuri
@efotinis, Apakah remsebenarnya perintah? Bukankah ::lebih baik karena itu sendiri diabaikan?
Pacerier
@ Peracerier, ya REMadalah perintah yang sebenarnya, tapi itu tertanam di CMD.EXE, jadi itu harus cukup efisien. Di sisi lain, ::mungkin lebih cepat, karena mengabaikan semuanya sampai akhir baris (misalnya tidak memeriksa perintah dirantai menggunakan &).
efotinis
2
Ingatlah bahwa menggunakan ::dapat merusak kode Anda dalam beberapa kasus, seperti menjadi baris terakhir dalam blok kode.
bryc
16

Anda mengawali komentar Anda dengan kata REM.

REM This is a comment.

Tetapi jika Anda ingin komentar Anda dicetak kembali kepada Anda, Anda harus mengulanginya:

echo This is a comment you'll see.
Bernhard Hofmann
sumber
Terima sebagai berfungsi, tetapi saya hanya akan sedikit lebih terkejut jika jawabannya adalah BTW, seperti di lolcode.com/specs/1.2#comments
Andrew Grimm
4

The REMperintah saja pernyataan (yaitu Katakan sesuatu sebagai komentar) baris dari yang dieksekusi. Namun, jika @echo offtidak ada dalam file batch baris itu masih akan bergema ke layar.

Agar garis-garis ini tidak ditampilkan, Anda dapat melakukan salah satu dari tiga hal.

  1. Tambah @echo ke file batch :
    Jika Anda ingin menyembunyikan semua perintah dan juga garis-garis REM tambahkan @echo sebagai baris pertama dalam file batch.
  2. Ubah REM menjadi @REM :
    Jika Anda ingin agar perintah ditampilkan ketika file batch dijalankan, tetapi masih ingin menyembunyikan garis REM ketik @REM alih-alih REM.
  3. Gunakan: :( yaitu label tidak valid ) alih-alih REM :
    Akhirnya, menggunakan :: sebagai perintah komentar alih-alih REM juga mencegah gema dari baris yang dikomentari.

sumber

Premraj
sumber
2

Saya percaya jawaban yang diberikan oleh bernhard tidak benar.

Setidaknya melalui kemenangan 7,

rem comment

dalam file batch akan mencetak dalam output. Untuk menekan pencetakan, gunakan

@ rem comment

atau

@rem comment

Hal yang sama berlaku untuk perintah lain, yang secara default digaungkan ke konsol.

pbpb
sumber
Perintah REM commenttidak akan mencetak output apa pun ke layar. Untuk demonstrasi langsung, buka Command Prompt dan jalankan echo commentkemudian jalankan perintah rem comment. Perhatikan bahwa echoperintah mencetak output ke layar sedangkan remperintah tidak.
Peniru Twisty
Saya selalu menggunakan @REM commentskrip batch saya untuk menghindari mereka muncul. Saya akan menyarankan mengedit jawaban Bernards untuk memasukkan menggunakan @ sebelum REM dalam skrip batch untuk menghindarinya daripada mengirim jawaban yang sama sekali baru.
Robin Hood
3
@RobinHood, file batch menggemakan semua perintah secara default (untuk tujuan debugging), itu sebabnya sudah biasa untuk memulainya @ECHO OFF & SETLOCAL .... Dengan cara ini Anda tidak perlu menambahkan @ke semua baris dan Anda dapat dengan mudah beralih ke ECHO ONketika ada masalah dan Anda perlu melakukan beberapa pengujian.
efotinis