Desejo anotar algumas notas em um arquivo .bat. Quais códigos podem ser adicionados às notas para que eles não sejam tratados como comandos a serem executados? [duplicado]

-1

Eu quero escrever algumas notas em um arquivo .bat. Quais códigos podem ser adicionados às notas para que eles não sejam tratados como comandos a serem executados?

    
por Matthew Wai 08.12.2016 / 13:09

2 respostas

5

Em scripts cmd.exe, comentários são adicionados usando REM (ou @REM para desativar com força o eco).

rem This is a comment.

Embora não seja tecnicamente um prefixo de comentário, :: também pode ser usado da mesma maneira (define um rótulo "goto" que permanece sem uso):

:: This is a comment.

Caution:

When labels are used as comments within a bracketed code block or for command, the command processor expects every label to be followed by at least one command, so when a jump is made to the label it will have something to execute.

The cmd shell will try to execute the second line even if it is formatted as a label (and this causes an error):

(
echo This example will fail
:: some comment
)

When working within bracketed code blocks it is definitely safer to use rem for all comment lines.

Fonte Uso de rótulos como comentários

Você também pode usar variáveis como comentários .

It is also possible to use variables as comments. This can be useful to conditionally prevent commands being executed:

@echo off 
setlocal
if /i "%~1"=="update" (set _skip=) Else (set _skip=REM)
%_skip% copy update.dat 
%_skip% echo Update applied 
... 

When using the above code snippet in a batch file the lines beginning with %_skip% are only executed if the batch file is called with update as a parameter.

Fonte Usando Variáveis como comentários

    
por 08.12.2016 / 19:05
2

Você poderia simplesmente acrescentar ao final do arquivo se o último código é um Goto :Eof Cmd não se importa com as linhas que o código nunca alcança. Com um marcador único, o lote em si pode determinar o início do texto e exibir usando mais.

@Echo off
For /f "tokens=1 delims=:" %%A in (
  'findstr /N "^@@@" "%~f0"'
  ) Do Set TxtBegin=%%A
:: Echo TxtBegin=%TxtBegin%
More +%TxtBegin% "%~f0"
Pause
Goto :Eof
@@@Begin of text
Here Comes the Sun
The Beatles
Here comes the sun (doo doo doo doo)
Here comes the sun, and I say
It's all right
Little darling, it's been a long cold lonely winter
Little darling, it feels like years since it's been here
Here comes the sun
Here comes the sun, and I say
..snip..
    
por 08.12.2016 / 14:18