Разное

Cmd комментарий: Как сделать комментарии в командной строке Windows?

28.03.1975

Содержание

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

Команда REM является встроенной командой интерпретатора команд cmd.exe и применяется для создания комментариев в командных файлах. Строка, начинающаяся с REM, не обрабатывается командным интерпретатором и может использоваться для пояснений, заметок и т.п., что бывает очень не лишним в сложных bat-файлах. Иногда, в качестве альтернативы команде REM используются приемы, основанные на особенностях реализации командного процессора cmd.exe, как, например, двойное двоеточие:

@ECHO OFF
::
:: Начало работы
REM
REM Продолжение работы
Echo Hello REM Этот текст будет полностью отображен командой ECHO
Echo Hello & REM Отобразить «Hello» командой echo
Copy 1.bat 2.bat & :: Копирование файла 1.bat в 2.bat
pause

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

& позволяет поместить комментарий в ту же строку, что и исполняемая команда:

сopy 1.bat 2.bat & rem Копирование файла 1.bat в 2.bat
Или
сopy 1.bat 2.bat & :: Копирование файла 1.bat в 2.bat

Такая конструкция позволяет поместить комментарий к отдельной команде bat-файла.

В качестве аналога пустой команды REM может использоваться пустая строка, которая так же игнорируется командным процессором CMD.

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

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

Поскольку интерпретатор команд CMD обрабатывает команды командного файла последовательно, любой текст между командой GOTO и меткой будет им проигнорирован. Соответственно, в этом месте можно, например, поместить поясняющий текст либо любой иной комментарий:

REM Это большой командный файл
Goto :Label1
Здесь можно разместить любой текст, который может быть подробным описанием командного файла.
:label1
Rem начало исполняемой части командного файла
@echo off
. . .

Как добавить комментарии в bat-файл

Windows
  • Bot
  • 25.01.2020
  • 21 796
  • 3
  • 78
  • 78
  • 0
  • Содержание статьи

Описание

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

Примеры

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

goto start
--------------------------------------
Этот пакетный файл предназначен
для автоматизации рутинных операций,
выполняемых ночью для синхронизации
содержимого корпоративного ftp-сервера
с ftp-серверами филиалов
--------------------------------------
Пакетный файл написан 01/01/2004
Последнее исправление внесено 10/02/2004
--------------------------------------
И т.д.
:start

Такое написание комментария при запуске пакетного файла передаст управление сразу к команде, следующей за меткой start. За это отвечает оператор перехода goto.

Более простые комментарии (из одной или нескольких строк) можно добавить, начиная строки с команды rem или с двух двоеточий, идущих друг за другом.

rem Этот блок устанавливает соединение с удаленным сервером
rem А это вторая строка с комментарием
:: Этот блок проверяет дату изменения файлов
:: А это вторая строка с комментарием

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

Как «comment-out» (добавить комментарий) в batch/cmd?



У меня есть batch file, который запускает несколько сценариев python, которые делают модификации таблиц.

  1. Я хочу, чтобы пользователи комментировали сценарии 1-2 python, которые они не хотят запускать, а не удаляли их из batch file (чтобы следующий пользователь знал, что эти сценарии существуют как опции!)

  2. Я также хочу добавить комментарии, чтобы привлечь их внимание конкретно к переменным, которые они должны обновить в Batch file, прежде чем запускать его. Я вижу, что могу использовать REM . Но похоже, что это больше для обновления пользователя с прогрессом после того, как он его запустил.

Есть ли синтаксис для более подходящего добавления комментария?

batch-file cmd comments comment-conventions
Поделиться Источник user1397044     29 июня 2012 в 21:40

10 ответов




1008

::   commenttttttttttt
REM  commenttttttttttt
  • :: не работает в строке; добавьте символ & :
    your commands here & :: commenttttttttttt
  • Внутри вложенных частей ( IF/ELSE , FOR циклов и т. Д.) За :: должна следовать нормальная строка, в противном случае она дает ошибку (используйте REM там).
  • :: также может потерпеть неудачу в setlocal ENABLEDELAYEDEXPANSION

Поделиться T. Todua     30 мая 2013 в 15:02



927

Команда rem действительно предназначена для комментариев. Он по своей сути никого не обновляет после запуска скрипта. Однако некоторые авторы сценариев могут использовать его таким образом вместо echo , потому что по умолчанию пакетный интерпретатор распечатает каждую команду перед ее обработкой. Поскольку команды rem ничего не делают, их безопасно печатать без побочных эффектов. Чтобы избежать печати команды, поставьте перед ней префикс @ или , чтобы применить этот параметр во всей программе, запустите @echo off . (Это echo off , чтобы избежать печати дальнейших команд; @ -чтобы избежать печати этой команды до вступления в силу параметра echo.)

Итак, в вашем batch file вы можете использовать это:

@echo off
REM To skip the following Python commands, put "REM" before them:
python foo. py
python bar.py

Поделиться Rob Kennedy     29 июня 2012 в 21:49



50

Нет, обычные старые пакетные файлы используют REM в качестве комментария. ECHO -это команда, которая выводит что-то на экран.

Для «comment out» разделов файла вы можете использовать GOTO . Пример всех этих commands/techniques:

REM it starts here the section below can be safely erased once the file is customised
ECHO Hey you need to edit this file before running it!  Check the instructions inside
ECHO Now press ctrl-c to interrupt execution or enter to continue
PAUSE
REM erase the section above once you have customised the file
python executed1.py
ECHO Skipping some stuff now
GOTO End
python skipped1.py
python skipped2.py
:END
python executed2.py

Что я могу сказать? пакетные файлы-это пережиток давно минувших времен, они неуклюжи и уродливы. fileName >outFileName Я хотел бы добавить комментарий к каждому из вариантов — e, как указано в следующих…



33

:: вместо REM предпочтительно использовалось в те дни, когда компьютеры были не очень быстрыми. REM’ed строки считываются, а затем регистрируются. ::»строки ed полностью игнорируются. Это может ускорить ваш код в «the old days». Далее, после REM вам нужно пространство, после ::-нет.

И, как сказано в первом комментарии: вы можете добавить информацию в любую строку, в которой вы чувствуете необходимость

SET DATETIME=%DTS:~0,8%-%DTS:~8,6% ::Makes YYYYMMDD-HHMMSS

Что касается пропуска деталей. Размещение REM перед каждой строкой может занять довольно много времени. Как уже упоминалось, использование GOTO для пропуска частей-это простой способ пропустить большие фрагменты кода. Обязательно установите значение :LABEL в том месте, где вы хотите, чтобы код продолжался.

SOME CODE

GOTO LABEL  ::REM OUT THIS LINE TO EXECUTE THE CODE BETWEEN THIS GOTO AND :LABEL

SOME CODE TO SKIP
.
LAST LINE OF CODE TO SKIP

:LABEL
CODE TO EXECUTE

Поделиться Kees     02 ноября 2013 в 21:33



27

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

Если вы хотите закомментировать большое количество строк, то будет лучше, если вы сможете делать многострочные комментарии, а не комментировать каждую строку.

Смотрите этот пост Роба ван дер Вуда в блоках комментариев :

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

GOTO EndComment1
This line is comment.
And so is this line.
And this one...
:EndComment1

Вы можете использовать GOTO Label и :Label для создания комментариев к блокам.

Или, если блок комментариев появляется в конце batch file, вы можете напишите

EXIT в конце кода, а затем любое количество комментариев для вашего понимания.

@ECHO OFF
REM Do something
  •
  •
REM End of code; use GOTO:EOF instead of EXIT for Windows NT and later
EXIT

Start of comment block at end of batch file
This line is comment.
And so is this line.
And this one...

Поделиться Somnath Muluk     24 августа 2016 в 10:50



14

Размещение комментариев в одной строке с командами: use

& :: comment
color C          & :: set red font color
echo IMPORTANT INFORMATION
color            & :: reset the color to default

Объяснение:

& разделяет две команды , поэтому в данном случае color C -это первая команда, а :: set red font color -вторая.


Важный:

Это утверждение с комментарием выглядит интуитивно правильным:

goto error1         :: handling the error

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

goto error1 handling the error

Но подобная попытка

color 17            :: grey on blue

не удается выполнить команду из-за 4 аргументов , неизвестных команде color : :: , grey, on , blue .

Он будет работать только как:

color 17     &      :: grey on blue

Так что амперсанд неизбежен.

Поделиться miroxlav     09 июня 2017 в 14:38



6

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

your commands here
:: commenttttttttttt

или

your commands here
REM  commenttttttttttt

 

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

your commands here      & ::  commenttttttttttt

или

your commands here      & REM  commenttttttttttt

 

  • Использование :: во вложенной логике ( IF-ELSE , FOR циклов и т. Д.) Приведет к ошибке. В этих случаях вместо этого используйте REM .

Поделиться Pikamander2     21 сентября 2018 в 05:24



2

Вы можете добавить комментарии в конец batch file с помощью этого синтаксиса:

@echo off
:: Start of code
...
:: End of code

(I am a comment
So I am!
This can be only at the end of batch files

Просто убедитесь, что вы никогда не используете закрывающие скобки.

Атрибуция: Лео Гуттирес Рамирес на https:/ / www.robvanderwoude.com / комментарии. php

Поделиться Wasif     12 января 2020 в 16:40



1

Это старая тема, и я хотел бы добавить сюда свое понимание, чтобы расширить знания об этой интересной теме.

Ключевое различие между REM и :: заключается в следующем:

REM-это сама команда, в то время как ::-это NOT.

Мы можем рассматривать :: как маркер, который, как только парсер CMD обнаружит первое непустое место в строке, это маркер ::, он просто пропустит всю строку и прочитает следующую строку. Вот почему за REM должно следовать, по крайней мере, пустое пространство, чтобы иметь возможность функционировать в качестве комментария для строки, в то время как :: не нуждается в пустом пространстве за ней.

То, что REM-это сама команда, лучше всего понять из следующего синтаксиса FOR

Основной синтаксис FOR выглядит следующим образом

FOR %v in (set) DO <Command> [command param] 

здесь <Command> может быть любая допустимая команда Таким образом, мы можем написать следующую допустимую командную строку, поскольку rem -это команда

FOR %i in (1,2,3) DO rem echo %i

Однако мы CANNOT пишем следующую строку, так как :: не является командой

FOR %i in (1,2,3) DO :: echo %i

Поделиться jyao     13 февраля 2019 в 07:12



0

Вы можете использовать :: или rem для комментариев.

При комментировании используйте :: , так как это в 3 раза быстрее. Пример приведен здесь

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

Поделиться Anic17     14 июня 2020 в 17:01


Похожие вопросы:


Добавить комментарий для использования скрипта python?

Во-первых, я не знаю, есть ли какое-то хорошее правило или обычная практика добавления комментариев для использования скрипта Python. Вот мой вопрос. В скрипте python, с определением функций и…


Как получить комментарий от плагина facebook comment

Я следовал этому руководству, чтобы вызвать функцию, когда делается комментарий. В настоящее время я могу сделать вызов ajax, чтобы взаимодействовать с моим DB, когда делается комментарий. Плагин FB. ..


params[:comment] где автор дает: комментарий?

Я хочу понять, где автор дает: комментарий, который приходит к контроллеру из этой формы <h3>Add a comment:</h3> <%= form_for([@post, @post.comments.build]) do |f| %> <p>…


Как добавить комментарий набора изменений как часть скрипта

При создании набора изменений я получаю ID, который затем могу использовать для назначения комментария набора изменений : scm create changeset scm changeset comment <id_returned_by_create> my…


Добавить комментарий к локализации раскадровки

Можно ли добавить комментарий к локализованной строке в раскадровке ? /* Class = IBUILabel; text = Some text; comment = This is the comment to help translator ObjectID = 0N3-up-Ts6; */…


Запустите batch file в окне externam CMD из PowerShell

У меня есть скрипт PowerShell, который запускается при запуске и создает пару пакетных файлов. fileName…


Как добавить видимый комментарий HTML в JSX?

Я использую ReactJS, и у меня есть требование добавить видимый комментарий HTML (в источнике html) в JSX, но я не уверен, как это сделать. Этот комментарий необходим стороннему поставщику для…


Добавить комментарий к началу документа

Используя ElementTree, как разместить комментарий чуть ниже объявления XML и выше корневого элемента? Я пробовал root.append(comment) , но это помещает комментарий как последнее дитя root . Могу ли…


Как добавить комментарий к ячейке в Excel с помощью Xlwings

Я пытаюсь добавить комментарий к ячейке A1 со следующим кодом, и это приводит к тому, что блокнот jupyter замораживается. При перезапуске я замечаю, что пустой комментарий был вставлен на A1….

ВСЕ О BAT!!! — Комментарии в bat-файле



Календарь
«  Август 2021  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031

Как добавить комментарии в батник?

Простые комментарии можно добавить, начиная строки с команды rem или с двух двоеточий, идущих друг за другом.

ПРИМЕР:

rem Этот блок выводит надпись на экран

::

Этот блок выводит надпись на экран

ПРИ НАПИСАНИИ СЛОЖНЫХ БАТНИКОВ
ЖЕЛАТЕЛЬНО КОММЕНТИРОВАТЬ СТРОКИ
ЧТОБ НЕ ЗАПУТАТЬСЯ ИЛИ ЧТОБЫ
БЫЛО ПОНЯТНО ДРУГИМ ПОЛЬЗОВАТЕЛЯМ!!!






Статистика


Онлайн всего: 1

Гостей: 1

Пользователей: 0


rem | Microsoft Docs

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *