Поиск…


Вступление

Комментарии используются для отображения информации в пакетном скрипте.

Синтаксис

  • REM

  • & REM

  • ::

  • & ::

  • Перейти к: Ярлык

        Comments. You can also use |>< ,etc.
    

    :Этикетка

Использование REM для комментариев

REM This is a comment
  • REM - официальная команда комментариев.

Использование меток в качестве комментариев

::This is a label that acts as a comment

Показанный выше двойной двойник :: комментарий не документируется как команда комментария, но это особый случай метки, который действует как комментарий.

Внимание : когда метки используются как комментарии в блочном кодовом блоке или for команды, процессор команд ожидает, что за каждой меткой будет следовать хотя бы одна команда, поэтому, когда на метку будет сделан переход, у нее будет что-то выполнение.

cmd оболочка cmd попытается выполнить вторую строку, даже если она отформатирована как метка (и это вызывает ошибку ):

(
echo This example will fail
:: some comment
)

При работе с блочными кодовыми блоками определенно безопаснее использовать REM для всех строк комментариев.

Использование переменных в комментариях

Также возможно использовать переменные в качестве комментариев. Это может быть полезно для условного предотвращения выполнения команд:

@echo off 
setlocal
if /i "%~1"=="update" (set _skip=) Else (set _skip=REM)
%_skip% copy update.dat 
%_skip% echo Update applied 
... 

При использовании приведенного выше фрагмента кода в пакетном файле строки, начинающиеся с %_skip% выполняются только в том случае, если пакетный файл вызывается с update в качестве параметра.

Блок комментариев

Формат пакетного файла не имеет синтаксиса комментариев к блоку, но для этого есть простой способ.

Обычно каждая строка командного файла считывается, а затем выполняется парсером, но goto может использоваться для перехода через блок простого текста (который может использоваться как комментарий блока):

@echo off
goto :start

A multi-line comment block can go here.
It can also include special characters such as | >

:start

Поскольку синтаксический анализатор никогда не видит линии между goto :start и :start label, он может содержать произвольный текст (включая управляющие символы без необходимости их устранения), и синтаксический анализатор не будет вызывать ошибку.

Комментарий к строке кода

Чтобы прокомментировать ту же строку, что и код, вы можете использовать &:: or &rem . Вы также можете использовать && или || заменить & .

Пример :

@echo off
echo This is a test &::This is a comment
echo This is another test &rem This is another comment
pause

Любопытство : команда SET позволяет ограничить встроенные комментарии без &rem :

set "varname=varvalue"    limited inline comment here

Ограничения:

  • синтаксис с двойными кавычками set "varname=varvalue" или set "varname=" ,
  • встроенный комментарий не может содержать двойную кавычку,
  • любые ядовитые символы cmd | < > & должен быть правильно экранирован как ^| ^< ^> ^& ,
  • Скобки ( ) должны быть надлежащим образом экранированы как ^( ^) в скобках в квадратных скобках.

Групповой и WSF-гибридный комментарий

<!-- : Comment

Это работает как с пакетным скриптом, так и с WSF. Закрывающий тег ( --> ) работает только в WSF.

Код Удовлетворительно в обеих партиях и WSF?
<!--: Comment Правда
<!--: Comment --> False - закрывающий тег работает только для WSF
--> Ложь


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow