Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: _carlos_ en 24 Diciembre 2008, 08:10 am



Título: Porqué :: comenta las líneas
Publicado por: _carlos_ en 24 Diciembre 2008, 08:10 am
Bien explicaré brevemente porqué :: es usado para comentar palabras en vez de el comando rem, y porqué funciona. Si es algo no documentado o si tiene una explicación técnica.

Por ejemplo:

Código:
:: esto es un comentario

no es lo mismo que:

Código:
rem esto es un comentario

Se ha dicho y yo también que rem lee la línea, y "::" no

Sin embargo diré qué es realmente "::"

"::" Es una etiqueta sin nombre.


Las etiquetas en cmd.exe comienzan con ":" y aunque no se les coloque cmd.exe las finaliza con ":"

cmd.exe solo lee los primeros 8 carácteres de una etiqueta, y luego las finaliza con ":"

Entonces

Código:
:: esto es un comentario
No es un comentario, sino que estamos agregando una etiqueta, aunque sin nombre, sin identificador.

La razón de los ":" es
: para indicar el inicio de la etiqueta
: explícito para indicar el fin de la etiqueta, y que cmd.exe no considere los primeros carácteres del "comentario" como parte del nombre de la etiqueta.

Ejemplo:
Código:
 @echo off
goto :estoesun:

pause

:estoesun:comentario
echo si

pause

El verdadero comentario comienza despues del segundo ":"

Por eso :: es una etiqueta sin identificador, por eso si uno coloca: goto :: cmd.exe arroja el siguiente error:

El sistema no encuentra la etiqueta por lotes especificada

Escrito por Carlos.



Título: Re: Porqué :: comenta las líneas
Publicado por: <[(x)]> en 28 Diciembre 2008, 05:15 am
bienn :)