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 Узнайте
Редактировать
Твиттер
Фейсбук
Электронная почта
- Статья
Записывает комментарии в сценарий, пакет или файл 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, и поэтому вряд ли когда-либо изменится.
Чтобы избежать этих проблем, убедитесь, что ваши комментарии не содержат символов %.
Встроенные комментарии
Мы рассмотрели добавление комментария на всю строку и добавление комментария в конце строки, но иногда возникает необходимость добавить небольшой комментарий в середине строки, чтобы пояснить некоторые детали.
Имена пакетных переменных могут содержать пробелы и знаки препинания, мы можем воспользоваться этим фактом, набрав наш комментарий как несуществующую переменную. Поскольку она не существует, эта переменная будет расширена до нуля и поэтому не будет иметь никакого эффекта при запуске скрипта.
н.б. Это работает только в пакетных файлах, а не непосредственно в командной строке.
Чтобы быть уверенным, что мы случайно не выберем имя, которое на самом деле является реальной переменной, начните и закончите комментарий знаком "="
@Эхо выключено
Эхо Это пример %= встроенного комментария =% в середине строки.(Имена переменных, начинающиеся с "=", зарезервированы для недокументированных динамических переменных. Эти динамические переменные никогда не заканчиваются на "=", поэтому, используя "=" как в начале, так и в конце нашего комментария, нет возможности использовать имя столкновение.)
Ограничения: текст комментария не может содержать % или :
Комментарии реестра
Комментариям файла .