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

Eu tenho um arquivo batch que executa vários scripts python que fazem modificações nas tabelas.

  1. Eu quero que os usuários comentem os 1-2 scripts python que eles não't querem executar, ao invés de removê-los do arquivo batch (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 à sua atenção especificamente as variáveis que eles precisam atualizar no arquivo Batch antes de executá-lo. Eu vejo que eu posso usar REM. Mas parece que isso'é mais para atualizar o usuário com o progresso depois que eles'o executam.

Existe uma sintaxe para adicionar um comentário de forma mais apropriada?

Utilize :: ou REM.

::   commenttttttttttt
REM  commenttttttttttt

MAS (como as pessoas observaram):

  • Se você utiliza inline, você precisa adicionar & caracter:
    "os seus comandos aqui & :: commenttttttttttt
  • Dentro de uma lógica aninhada (IF/ELSE, FOR loops, etc...) utilize **REM*** porque :: dá um erro.
  • :: pode falhar dentro de `setlocal ENABLEDELAYEDEXPANSION''.
Comentários (19)
Solução

O comando rem é de facto para comentários. Ele não atualiza ninguém inerentemente após executar o script. Alguns autores de scripts podem utilizá-lo dessa forma ao invés do echo', no entanto, porque por padrão o interpretador de lotes irá *imprimir* cada comando antes que ele seja processado. Como os comandosremnão fazem nada, é seguro imprimi-los sem efeitos colaterais. Para evitar a impressão de um comando, prefira-o com@, ou, para aplicar essa configuração em todo o programa, execute@echo off'. (É echo off' para evitar a impressão de mais comandos; o@' é para evitar a impressão do comando that antes que a configuração de eco tenha efeito).

Então, no seu arquivo de lote, você pode usar isto:

@echo off
REM To skip the following Python commands, put "REM" before them:
python foo.py
python bar.py
Comentários (6)

Não, os arquivos de lote simples e antigos utilizam REM como comentário. ECHO é o comando que imprime algo na tela.

Para "comentar" seções do arquivo você poderia usar GOTO. Um exemplo de todos estes 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 ficheiros de lote são uma relíquia de tempos idos, são desajeitados e feios.

Você pode ler mais neste site.

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

Comentários (0)