Jak mogę dodawać komentarze w wierszu polecenia systemu Windows?

Odpowiedzi:

90

REM jest standardowym sposobem:

REM this is a comment

Możesz także skorzystać z konwencji podwójnego dwukropka często spotykanej w plikach wsadowych:

:: another comment

Pojedynczy dwukropek, po którym następuje łańcuch, jest etykietą, ale podwójny dwukropek i wszystko po nim są dyskretnie ignorowane. Można argumentować, że ta forma jest bardziej czytelna niż REMpolecenie.

Zauważ, że obie te metody działają tylko na początku linii. Jeśli chcesz dołączyć komentarz do polecenia, możesz użyć ich ze znakiem konkatenacji polecenia ( &), w następujący sposób:

dir & REM a comment
dir &:: another one
efotinis
źródło
2
Dzięki. Czy to działa tylko wtedy, gdy jest to pierwsza napotkana rzecz, a nie robienie czegoś takiego dir :: comment?
Andrew Grimm,
1
Najpierw przydatny link . Wówczas komentarze podwójnego dwukropka nie działają wewnątrz bloków kodu (kod między nawiasami, jak w if/ forpętlach).
x-yuri
@efotinis, czy remfaktycznie jest to polecenie? Nie ::byłoby lepiej, ponieważ sam jest ignorowany?
Pacerier
@Pacerier, tak REMjest właściwym poleceniem, ale jest osadzone w CMD.EXE, więc powinno być całkiem wydajne. Z drugiej strony ::może być szybszy, ponieważ ignoruje wszystko na końcu wiersza (np. Nie sprawdza użycia łańcuchowych poleceń &).
efotinis
2
Pamiętaj, że użycie ::może uszkodzić kod w niektórych przypadkach, na przykład będąc ostatnim wierszem w bloku kodu.
bryc
16

Twój komentarz poprzedzasz słowem REM.

REM This is a comment.

Ale jeśli chcesz, aby twój komentarz został wydrukowany z powrotem, powinieneś go powtórzyć:

echo This is a comment you'll see.
Bernhard Hofmann
źródło
Akceptuję, że działam
Andrew Grimm,
5

W REMzaledwie polecenie uwagi (tj Powiedz coś jako komentarz) Linia przed egzekucją. Jeśli jednak @echo offnie ma go w pliku wsadowym, linia nadal będzie wyświetlać echo na ekranie.

Aby zapobiec wyświetlaniu tych linii, możesz wykonać jedną z trzech czynności.

  1. Dodaj @echo do pliku wsadowego :
    Jeśli chcesz ukryć wszystkie polecenia, a także wiersze REM, dodaj @echo jako pierwszy wiersz w pliku wsadowym.
  2. Zmień REM na @REM :
    Jeśli chcesz, aby polecenia były wyświetlane podczas uruchamiania pliku wsadowego, ale nadal chcesz ukryć linie REM wpisz @REM zamiast REM.
  3. Użyj: :( tj. Nieprawidłowa etykieta ) zamiast REM :
    Wreszcie użycie :: jako komendy remark zamiast REM również zapobiega echu zaznaczonej linii.

źródło

Premraj
źródło
2

Uważam, że odpowiedź udzielona przez Bernharda jest nieprawidłowa.

Przynajmniej przez wygraną 7,

rem comment

w pliku wsadowym zostanie wydrukowany na wyjściu. Aby wyłączyć drukowanie, użyj

@ rem comment

lub

@rem comment

To samo dotyczy innych poleceń, które domyślnie są wysyłane echem do konsoli.

pbpb
źródło
Polecenie REM commentnie spowoduje wydrukowania żadnego wyniku na ekranie. W celu pokazu na żywo otwórz wiersz polecenia i uruchom, echo commenta następnie uruchom polecenie rem comment. Zauważ, że echopolecenie drukuje dane wyjściowe na ekranie, podczas gdy rempolecenie nie.
Mówię: Przywróć Monikę
Zawsze używam @REM commentw skryptach wsadowych, aby uniknąć ich wyświetlania. Sugerowałbym edytowanie odpowiedzi Bernarda, aby zawierała @ przed REM w skryptach wsadowych, aby uniknąć jej wyświetlania, zamiast publikowania zupełnie nowej odpowiedzi.
Robin Hood
3
@RobinHood, pliki wsadowe domyślnie odbijają wszystkie polecenia (w celu debugowania), dlatego zwyczajowo je uruchamia się @ECHO OFF & SETLOCAL .... W ten sposób nie musisz przygotowywać się @do wszystkich wierszy i możesz łatwo przełączyć się na ECHO ONcoś, co pójdzie nie tak i musisz przeprowadzić testy.
efotinis