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

При написании bat файлов бывает необходимо оставить в коде комментарии, чтобы в нем потом можно было быстро разобраться спустя время или кому-нибудь другому, кто будет этот файл использовать. В этой статье мы расскажем о том, как вставить комментарий в bat файл
Примеры
Комментарии можно добавить несколькими способами. Первый больше годится для написания больших комментариев, описывающих либо весь пакетный файл, либо несколько больших его блоков. Код выглядит следующим образом:
goto start -------------------------------------- Этот пакетный файл предназначен для автоматизации рутинных операций, выполняемых ночью для синхронизации содержимого корпоративного ftp-сервера с ftp-серверами филиалов -------------------------------------- Пакетный файл написан 01/01/2004 Последнее исправление внесено 10/02/2004 -------------------------------------- И т.д. :start
Такое написание комментария при запуске пакетного файла передаст управление сразу к команде, следующей за меткой start. За это отвечает оператор перехода goto.
Более простые комментарии (из одной или нескольких строк) можно добавить, начиная строки с команды rem или с двух двоеточий, идущих друг за другом.
rem Этот блок устанавливает соединение с удаленным сервером rem А это вторая строка с комментарием
:: Этот блок проверяет дату изменения файлов :: А это вторая строка с комментарием
Комментирование больших пакетных файлов (как, в принципе, и любого кода) — хороший тон, который значительно облегчает процесс разбора этих файлов другими людьми или самим автором по прошествии значительного времени с момента написания.
.bat комментарии — как комментировать код, примеры
![]()
В данный момент сайт не поддерживает подсветку комментариев .bat — потому для красоты можно было бы написать так:
rem // your windows path to main folder SET _mainpath=C:\www\text.tut\js\assets\ rem // subfolder in main folder SET _subdir=min_js\
Кстати, строки типа rem выводятся в консоль (как показывает моя практика) только если они будут на той же строке что и какая-то команда, когда же они на строке в гордом одиночестве (без «непосредственно исполняемого» кода) — как в пример выше, то выводится в консоль ничего не будет.
Многострочные комментарии
В начале файла добавить многострочные комментарий можно таким способом:
goto start -------------------------------------- .bat файл для удаления содержимого директории assets\ и её содержимого её поддиректории min_js\ -------------------------------------- :start
Key Words for FKN + antitotal forum (CS VSU):
Комментарии в bat-файле

Мужики, меня попросили создать программку на .bat. Сам я на делфи немного работаю. Почитал учебник, на форуме полистал. Саму прогу сделал. Прошу помочь в написании комментариев в бат файле. По простецки я их написал, но все же желательно более грамотные комментарии нужны. Кто чем может помочь? Спасибо заранее.
1 2 3 4 5 6
@echo off setlocal enabledelayedexpansion set /p a="vvedite peremennu: " set a=!a:%%=! :: Эту строку честно стрындил с форума. Так и не разобрался в ней. if defined %a% (set %a%) else (echo peremenbnaya %a% ne opredelena) pause
И еще, более грамотное написание комментариев у спецов какой считается? Я начал писать через двоеточие ::
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как вызвать в одном bat-файле другой bat-файл?
Здравствуйте, уважаемые форумчане. Подскажите, пожалуйста, каким образом надо прописать в одном.
Вызов одного bat в другом bat файле несколько раз
Доброго времени суток. Подскажите: есть два бат-файла, установлена система radius, приходят архивы.

Можно ли получить имя bat-файла в этом же bat-файле?
Запускаю прогу со входными аргументами из батника. Последний аргумент — имя выходного файла. Хочу.
Как экранировать кавычки в bat файле или же создать .bat для создания ярлыков?
Нужно размножить ярлыки с разными параметрами запуска(профиля для chrome) у меня не получается.
3457 / 1995 / 635
Регистрация: 26.02.2014
Сообщений: 1,457

Сообщение было отмечено ComSpec как решение
Решение
Сообщение от grom333 
2 3 4
setlocal enabledelayedexpansion set /p a="vvedite peremennu: " set a=!a:%%=! :: Эту строку честно стрындил с форума. Так и не разобрался в ней.
Windows Batch file
SETLOCAL ENABLEDELAYEDEXPANSION
— включение отложенного расширения переменных среды.
-
1) задание и раскрытие переменных записано в одной строке
(при объединении команд с помощью логических
операторов «&», «&&» и «||»), например:
setlocal enabledelayedexpansion set a=bcd& echo !a!
1 2 3 4 5 6 7 8 9 10
setlocal enabledelayedexpansion set a=123 if defined a ( set b=%a%321 if !b! neq %a% ( echo !b! ) else ( echo %a% ) )
Windows Batch file
set a=!%b%cde%f%!
Windows Batch file
set a=!%%i!
Windows Batch file
set a=!b:%c%=%d%!
Windows Batch file
set a=!a:%%=!
означает, что при раскрытии переменной символ процента из
её значения будет удалён (заменён на «ничто»);
1 2 3
setlocal enabledelayedexpansion set "a=^&|" echo !a!
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Выполнение условия в bat файле по наличию текста в определённом файле
Задача: найти опеределённую строчку текста в файле и если она совпадает с искомой, то выполнить.
Нужны комментарии к файлу autoexec.bat
Дайте перевод этих строчек. countru=007,866 c:\dos\countru.sys rem mode con codepage.
Меню в BAT-файле
Помогите подскажите в чем дело. Хочу получить простое меню выбора в батнике, типа выберите букву, а.
Условие в Bat-файле
Здравствуйте! Возможно ли написать код в bat-файле, который создаст условие — не открывать файл 2.
Возможно в bat-файле?
Здравствуйте, не могу сама разобраться. Существуют папки (каталоги с файлами) такой структуры.
Параметры в BAT-файле
Напишите пакетное задание для запуска программы, причем имя программы должно вводиться как.
Или воспользуйтесь поиском по форуму:
REM – создание комментариев в командных файлах Windows.
Команда 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
. . .