batch file - comment - Como "comentar"(adicionar comentário) em um lote/cmd?




comment on cmd file (5)

:: ou REM

::   commenttttttttttt
REM  commenttttttttttt

MAS (como as pessoas notaram):

  • Se você usar inline, você precisa adicionar & character:
    your commands here & :: commenttttttttttt
  • Dentro de lógica aninhada ( IF/ELSE , FOR loops, etc ...) use REM porque :: dá um erro.
  • :: pode falhar dentro de setlocal ENABLEDELAYEDEXPANSION

Eu tenho um arquivo em lotes que executa vários scripts python que fazem modificações de tabela.

  1. Eu quero que os usuários comentem os scripts de python 1-2 que eles não querem executar, em vez de removê-los do arquivo de lote (para que o próximo usuário saiba que esses scripts existem como opções!)

  2. Eu também quero adicionar comentários para trazer a sua atenção especificamente as variáveis ​​que precisam atualizar no arquivo em lote antes de executá-lo. Eu vejo que posso usar o REM . Mas parece que é mais para atualizar o usuário com o progresso depois de executá-lo.

Existe uma sintaxe para adicionar mais apropriadamente um comentário?


Colocando comentários na mesma linha com comandos: use & :: comment

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

Explicação:

& separa dois comandos , portanto, neste caso, a color C é o primeiro comando e :: set red font color é a segunda.

Importante:

Esta declaração com comentário parece intuitivamente correta:

goto error1         :: handling the error

mas não é um uso válido do comentário. Ele funciona apenas porque goto ignora todos os argumentos após o primeiro. A prova é fácil, esse goto não vai falhar:

goto error1 handling the error

Mas tentativa semelhante

color 17            :: grey on blue

falha ao executar o comando devido a 4 argumentos desconhecidos para o comando color : :: , grey , on , blue .

Só funcionará como:

color 17     &      :: grey on blue

Portanto, o e comercial é inevitável.


Não, arquivos em lote antigos simples usam o REM como um comentário. ECHO é o comando que imprime algo na tela.

Para "comentar" as seções do arquivo, você pode usar o GOTO . Um exemplo de todos esses comandos / técnicas:

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

O que posso dizer? Os arquivos em lote são uma relíquia de tempos passados, eles são desajeitados e feios.

Você pode ler mais neste site .

EDIT: modificou o exemplo um pouco para que ele contenha os elementos que você está aparentemente procurando.


O :: em vez de REM foi usado preferencialmente nos dias em que os computadores não eram muito rápidos. A linha REM'ed é lida e depois ingnored. :: linha de ed são ignorados todo o caminho. Isso pode acelerar seu código nos "velhos tempos". Ainda mais depois de um REM você precisa de um espaço, depois de: você não precisa.

E como dito no primeiro comentário: você pode adicionar informações a qualquer linha que você sentir a necessidade de

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

Quanto ao pular de peças. Colocar o REM na frente de cada linha pode consumir bastante tempo. Como mencionado, usar o GOTO para pular partes é uma maneira fácil de pular grandes pedaços de código. Certifique-se de definir um: LABEL no ponto em que deseja que o código continue.

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

Você pode comentar algo usando :: ou REM :

your commands here
:: commenttttttttttt

ou

your commands here
REM  commenttttttttttt

Para fazer isso na mesma linha de um comando, você deve adicionar um "e" comercial:

your commands here      & ::  commenttttttttttt

ou

your commands here      & REM  commenttttttttttt

Nota:

  • Usando :: na lógica aninhada ( IF-ELSE , FOR loops, etc ...) causará um erro. Nesses casos, use REM vez disso.






comment-conventions