Rem bat: REM – комментарий в командном файле.

rem | Microsoft Learn





Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья


Записывает комментарии в файл скрипта, пакета или config. sys. Если комментарий не указан, rem добавляет вертикальный интервал.

Примечание

Эта команда является внутренней для интерпретатора командной строки, cmd.exe.

rem [<comment>]

Параметры

ПараметрОписание
<comment>Задает строку символов, включаемую в качестве комментария.
/?Отображение справки в командной строке.
  • Команда rem не отображает комментарии на экране. Чтобы отобразить комментарии на экране, необходимо включить команду echo on в файл.

  • Вы не можете использовать символ перенаправления (< или >) или канал (|) в примечании пакетного файла.

  • Хотя вы можете использовать rem без комментария для добавления вертикального интервала в пакетный файл, вы также можете использовать пустые строки. Пустые строки игнорируются при обработке пакетной программы.

Примеры

Чтобы добавить вертикальный интервал через комментарии пакетного файла, введите:

@echo off
rem  This batch program formats and checks new disks.
rem  It is named Checknew.bat.
rem
rem echo Insert new disk in Drive B.
pause
format b: /v chkdsk b:

Чтобы добавить пояснительный комментарий перед командой командной строки в файл config.sys, введите:

rem Set prompt to indicate current directory
prompt $p$g

Чтобы предоставить комментарий о том, что делает скрипт, введите:

rem The commands in this script set up 3 drives.
rem The first drive is a primary partition and is
rem assigned the letter D. The second and third drives
rem are logical partitions, and are assigned letters
rem E and F.
create partition primary size=2048
assign d:
create partition extended
create partition logical size=2048
assign e:
create partition logical
assign f:

Для многостроковых комментариев используйте условное выполнение:

  Rem/||(
    The REM statement evaluates to success,
    so these lines will never be executed. )
  )
  • Условные обозначения синтаксиса команд командной строки






3. Команда rem ( reMark

Эта
команда предназначена для ввода в текст
пакетного файла комментариев, поясняющих
действие той или команды или группы
команд. Общий формат этой команды
REM [ сообщение ]. При работе пакетного
файла “ сообщение “ на экране не
появляется, его можно прочитать, при
выводе на экран содержимого пакетного
файла.

4.8.3 Реакция
пользователя в пакетных файлах.

Как
известно, некоторые команды DOS требуют
реакции пользователя на выдаваемые ими
сообщения. Такие же действия можно
осуществить в пакетных файлах при помощи
команды PAUSE. Команда PAUSE приостанавливает
действие пакетного файла до нажатия
любой клавиши. Общий формат команды
PAUSE.

Pause [ сообщение ]

Если
ввести команду PAUSE без параметра, то на
экране появится сообщение

Press any
key to continue.

Если
ввести команду с параметром “сообщение”,
то на экране в начале появится само
“сообщение”, а затем приведённая выше
фраза. Максимальная длина сообщения в
команде PAUSE составляет 121 символ. Если
требуется более длинное сообщение, то
его можно вывести при помощи команды
ECHO. Команда PAUSE применяется в двух
случаях: когда на экране появляется
информация, которую необходимо спокойно
проанализировать и когда в пакетном
выполняются операции, которые могут
испортить данные, например копирование
или удаление файлов.

Пример.
Написать пакетный файл, который
переформатирует дискету с сохранением
информации, записанной на ней. В качестве
временной рабочей области используется
каталог WORK диска С:.

Имя
файла
CLEAR.BAT.

ECHO
OFF

CLS

REM
Этот пакет команд устранаяет фрагментацию
диска путём копирования

REM
данных во временную рабочую область
на диске С:, переформатирова-

REM
нием дискеты и обратным копированием
информации

MD
C:\WORK

PAUSE
Вставить дискету в накопитель А:

COPY
A: *.* C:\WORK

ECHO
Переформатирование дискеты

FORMAT
A: /Q/S

CLS

ECHO
Возвращение данных на дискету

COPY
C:\ WORK\*. * A:\ /V

DEL
C:\WORK\*.*

RD
C:\WORK

ECHO
Очистка дискеты завершена

Написать
такой же пакетный файл для компьютера,
который не имеет жесткого диска.

4.8.4 Пакетные файлы с параметрами.

Чтобы
сделать пакетные файлы более универсальными
в них предусмотрен механизм формальных
и фактических параметров. При разработке
пакетного файла в него включаются
формальные параметры, которые заменяются
на фактические ( действительные )
параметры при выполнении пакетного
файла. Фактические параметры указываются
в командной строке после имени пакетного
файла. Формальные параметры обозначаются
следующим образом %0 %1 %2 …….. %9, то
есть всего десять значений формальных
параметров. Это число формальных
параметров может быть увеличено при
помощи команды SHIFT.

Пример.
Необходимо написать пакетный файл для
перемещения любого файла с диска А: на
диск С:.

Файл
с
именем
MOVE.BAT

COPY
A: %1 C:\ /V

DEL
A: %1

Чтобы
переместить любой конкретный файл с
диска А: на диск С: необходимо, например,
дать команду

A>
MOVE. BAT FILE1.TXT При выполнении этой команды
файл FILE1.TXT будет перемещён с диска А:
на диск С:

При
работе пакетного файла подстановка
параметров происходит по принципу
позиционного соответствия, то есть

%0
%1 %2

A>
WORK.BAT TWO.BAS C:\FILE1.DOC

Из
примера видно, что значение формального
параметра %0 соответствует самому
пакетному файлу. Например, создадим
следующий пакетный файл L.BAT

REM
Пример пакетного файла

CLS

%0

Если
запустить этот пакетный файл при помощи
команды A> L.BAT то на экране вначале
появится слово REM, затем произойдёт
очистка экрана, затем в соотвествии с
командой %0 произойдёт заново запуск
файла L.BAT. Таким образом мы получим
бесконечный цикл . На практике использование
значения формального параметра % 0
происходит достаточно редко. При
задании формальных параметров не следует
пропускать номер параметра, то есть ,
например, вместо %1, написать %2. Это может
привести к сбоям в работе пакетного
файла.

Пример.
Пакетный файл Q.BAT

REM
Пример пакетного файла с циклом

%1

CLS

%0

Введём
в командной строке следующую команду
A> Q.BAT DIR. В результате вместо параметра
%1 будет выполняться команда DIR и на
экран будет выведено оглавление текущего
каталога диска А:; затем произойдёт
очистка экрана. Затем вместо %0 будет
запускаться сам файл Q.BAT, однако оглавления
каталога выводиться не будет. Возникнет
бесконечный цикл.

Пример.
Написать пакетный файл, который будет
выводить на экран содержание трёх любых
файлов.

TYPE
%1

TYPE
%2

TYPE
%3

Пример.
Написать пакетный файл, который будет
объединять три любых текстовых файла
в один с именем MYFILE.TXT.

COPY
%1 + %2 +%3 MYFILE.TXT

бэр | Microsoft Узнайте

Редактировать

Твиттер

LinkedIn

Фейсбук

Электронная почта

  • Статья

Записывает комментарии в сценарий, пакет или файл config.sys. Если комментарий не указан, rem добавляет интервал по вертикали.

Примечание

Эта команда является внутренней для интерпретатора командной строки cmd.exe.

Синтаксис

 rem [<комментарий>]
 

Параметры

Параметр Описание
<комментарий> Указывает строку символов для включения в качестве комментария.
/? Отображает справку в командной строке.
  • Команда rem не отображает комментарии на экране. Для отображения комментариев на экране необходимо включить эхо команды в вашем файле.

  • Нельзя использовать символ перенаправления ( < или > ) или прямую черту ( | ) в комментарии к пакетному файлу.

  • Хотя вы можете использовать rem без комментариев, чтобы добавить вертикальный интервал в пакетный файл, вы также можете использовать пустые строки. Пустые строки игнорируются при обработке пакетной программы.

Примеры

Чтобы добавить интервал по вертикали через комментарии к пакетному файлу, введите:

 @эхо выключено
rem Эта пакетная программа форматирует и проверяет новые диски.
rem Называется Checknew.bat.
бэр
rem echo Вставьте новый диск в дисковод B.
Пауза
формат b: /v chkdsk b:
 

Чтобы включить поясняющий комментарий перед командой подсказки в файле config.sys, введите:

 rem Установить подсказку для указания текущего каталога
подсказка $p$g
 

Чтобы прокомментировать действия сценария, введите:

 rem Команды этого сценария настраивают 3 диска.
rem Первый диск является основным разделом и
rem присвоена буква D. Второй и третий диски
rem — это логические разделы, которым присваиваются буквы
рем Э и Ф. 
создать основной размер раздела = 2048
назначить д:
создать расширенный раздел
создать раздел логический размер = 2048
назначить е:
создать логический раздел
назначить ф:
 9)
  )
 
  • Ключ синтаксиса командной строки

Обратная связь

Просмотреть все отзывы о странице

Rem — Комментарий — Windows CMD

Rem — Комментарий — Windows CMD — SS64.com

  • SS64
  • СМД
  • Практическое руководство

В пакетном файле
REM в начале строки означает комментарий или ЗАМЕЧАНИЕ.

Альтернативой является добавление :: at
начало строки, это имеет тот же эффект, что и REM. Двойное двоеточие действует как GOTO или CALL :label, второе двоеточие недопустимо как имя, но все еще обрабатывается как метка, поэтому строка всегда пропускается.

Примеры

@ЭХО ВЫКЛ
::
:: Первый комментарий

REM Второй комментарий
REM

Echo Hello REM Это замечание отображается с помощью echo
Echo Hello & REM Это замечание игнорируется echo

Скопируйте work. xls backup.xls &:: Мы сделали резервную копию файла

Хотя вы можете использовать REM без комментария, чтобы добавить вертикальный интервал в пакет
файл, вы также можете использовать полностью пустые строки. Пустые строки игнорируются при обработке
пакетная программа.

Двойное двоеточие :: не задокументировано как команда комментария. Важным ограничением этого является то, что в качестве метки его можно использовать только в начале строки. Кроме того, поскольку двойное двоеточие является командой, оно будет отображаться, если вы запустите пакетный файл без @ECHO OFF 9.0003

Комментарий REM обрабатывается немного медленнее, чем :: (360 мкс против 58 мкс на строку комментария)
Комментарий REM — это задокументированная команда, которую можно использовать практически в любом месте командной строки.

C:\> Echo Это будет работать REM Echo Но будет ли это показывать
Это будет работать REM Echo Но будет ли это показывать

Вы можете добавить комментарий в конец командной строки, используя &REM или &::
C:\> Echo Это будет работать &:: Echo это не будет отображаться
Это будет работать
Этот подход работает, потому что '&' вводит новую команду в той же строке.

Многострочные комментарии

Одним из подходов к добавлению большого многострочного блока теста комментариев является использование простого текста и команды goto для перехода от выполнения к комментариям:

 @Эхо ВЫКЛ.
Перейти к :СТАРТ 
 Описание может быть здесь
который может даже включать - | > персонажи

:СТАРТ 

Приведенный выше метод не будет работать в середине выражения в квадратных скобках, такого как цикл FOR... DO(...).
Это потому, что
Команду Goto нельзя использовать внутри квадратных скобок — это нарушит их контекст.

В таких случаях можно также поместить текст комментария в скобки, как показано ниже:

 (
  Эхо строки ниже прокомментированы
  Бэр/||  ( 
    некоторый текст комментария, который будет работать в квадратных скобках.
    Команда REM всегда оценивается как ИСТИНА, поэтому эти
    строки никогда не будут выполнены.
    ) 
) 

Комментарии внутри кодовых блоков в квадратных скобках.

Когда метки :: используются в качестве комментариев внутри блока кода в квадратных скобках или команды FOR, процессор команд будет ожидать (небезосновательно), что за каждой меткой следует по крайней мере одна команда. (Таким образом, если вы перейдете к метке, у нее будет что выполнять.) На самом деле оболочка CMD попытается выполнить вторую строку, даже если она отформатирована как метка.
Любая недопустимая команда, даже пустая строка или закрывающая скобка, приведет к ошибке комментария в стиле :::

 (
 Эхо Этот пример завершится ошибкой
 :: какой-то комментарий
)
 
 ( 
:NormalLabel & Echo это не будет выполнено.
:SecondaryLine & Echo Это будет выполнено.
)

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

 (
 REM something & Echo this не будут выполнены.
 REM somethingelse & Echo Это также не будет выполнено.
) 

Однако они должны быть на отдельной строке для любых скобок:

(REM Мой комментарий и ECHO Что-то еще)

Строка выше эквивалентна:
(РЕМ
REM стирает все последующее, включая закрывающую скобку, которая обычно нарушает скрипт.

Ошибки


Комментарий, подобный приведенным ниже примерам, будет интерпретирован как команда и приведет к фатальной ошибке:
::%~
или
REM %~

или аналогично с переменной
установить переменную = демо

рем %вар:=
или
rem %var:*=

Ошибки завершат всю дальнейшую пакетную обработку и вернут сообщение об ошибке:
Следующее использование оператора пути в подстановке пакетного параметра:
неверно: %~

Это поведение является результатом правил пакетного синтаксического анализа, используемых CMD.EXE, и поэтому вряд ли когда-либо изменится.

Чтобы избежать этих проблем, убедитесь, что ваши комментарии не содержат символов %.

Встроенные комментарии

Мы рассмотрели добавление комментария на всю строку и добавление комментария в конце строки, но иногда возникает необходимость добавить небольшой комментарий в середине строки, чтобы пояснить некоторые детали.

Имена пакетных переменных могут содержать пробелы и знаки препинания, мы можем воспользоваться этим фактом, набрав наш комментарий как несуществующую переменную. Поскольку она не существует, эта переменная будет расширена до нуля и поэтому не будет иметь никакого эффекта при запуске скрипта.

н.б. Это работает только в пакетных файлах, а не непосредственно в командной строке.

Чтобы быть уверенным, что мы случайно не выберем имя, которое на самом деле является реальной переменной, начните и закончите комментарий знаком "="

@Эхо выключено
Эхо Это пример %= встроенного комментария =% в середине строки.

(Имена переменных, начинающиеся с "=", зарезервированы для недокументированных динамических переменных. Эти динамические переменные никогда не заканчиваются на "=", поэтому, используя "=" как в начале, так и в конце нашего комментария, нет возможности использовать имя столкновение.)
Ограничения: текст комментария не может содержать % или :

Комментарии реестра

Комментариям файла .