batch-file
Komentarze w plikach wsadowych
Szukaj…
Wprowadzenie
Komentarze służą do wyświetlania informacji w skrypcie wsadowym.
Składnia
REM
I REM
::
I ::
Idź do: Etykieta
Comments. You can also use |>< ,etc.
:Etykieta
Używanie REM do komentowania
REM This is a comment
-
REM
to oficjalne polecenie komentowania.
Używanie etykiet jako komentarzy
::This is a label that acts as a comment
Przedstawiony powyżej podwójny dwukropek ::
komentarz nie jest udokumentowany jako polecenie komentarza, ale jest to szczególny przypadek etykiety, która działa jak komentarz.
Uwaga : gdy etykiety są używane jako komentarze w bloku kodu w nawiasach kwadratowych lub for
polecenia, procesor poleceń oczekuje po każdej etykiecie co najmniej jednego polecenia, więc po przejściu do etykiety będzie musiał coś wykonać.
Powłoka cmd
spróbuje wykonać drugi wiersz, nawet jeśli jest sformatowany jako etykieta (a to powoduje błąd ):
(
echo This example will fail
:: some comment
)
Podczas pracy w nawiasowych blokach kodu zdecydowanie bezpieczniej jest używać REM dla wszystkich wierszy komentarza.
Używanie zmiennych jako komentarzy
Możliwe jest również użycie zmiennych jako komentarzy. Może to być przydatne do warunkowego zapobiegania wykonywaniu poleceń:
@echo off
setlocal
if /i "%~1"=="update" (set _skip=) Else (set _skip=REM)
%_skip% copy update.dat
%_skip% echo Update applied
...
Podczas korzystania z powyższego fragmentu kodu w pliku wsadowym wiersze rozpoczynające się od %_skip%
są wykonywane tylko wtedy, gdy plik wsadowy jest wywoływany z update
jako parametrem.
Blokuj komentarze
Format pliku wsadowego nie ma składni komentarza do bloku, ale można to łatwo obejść.
Zwykle każdy wiersz pliku wsadowego jest odczytywany, a następnie wykonywany przez analizator składni, ale można użyć instrukcji goto
aby przeskoczyć obok bloku zwykłego tekstu (który może być użyty jako komentarz do bloku):
@echo off
goto :start
A multi-line comment block can go here.
It can also include special characters such as | >
:start
Ponieważ analizator składni nigdy nie widzi linii między instrukcją goto :start
a etykietą :start
, może zawierać dowolny tekst (w tym znaki sterujące bez konieczności ucieczki), a analizator składni nie zgłasza błędu.
Skomentuj wiersz kodu
Aby skomentować ten sam wiersz co kod, możesz użyć &::
lub &rem
. Możesz także użyć &&
lub ||
zastąpić &
.
Przykład:
@echo off
echo This is a test &::This is a comment
echo This is another test &rem This is another comment
pause
Ciekawość : polecenie SET
pozwala na wstawianie ograniczonych komentarzy bez &rem
:
set "varname=varvalue" limited inline comment here
Ograniczenia:
- składnia z podwójnymi cudzysłowami
set "varname=varvalue"
lubset "varname="
, - komentarz wewnętrzny nie może zawierać podwójnego cudzysłowu,
- dowolne trujące znaki
cmd
| < > &
musi być poprawnie oznaczone jako^| ^< ^> ^&
, - nawiasy
( )
muszą być odpowiednio oznaczone jako^( ^)
w nawiasowym bloku kodu.
Komentarz wsadowy i hybrydowy WSF
<!-- : Comment
Działa to zarówno ze skryptem wsadowym, jak i WSF. Znacznik zamykający ( -->
) działa tylko w WSF.
Kod | Udało ci się zarówno w partii jak i WSF? |
---|---|
<!--: Comment | Prawdziwe |
<!--: Comment --> | Fałsz - tag zamykający działa tylko dla WSF |
--> | Fałszywy |