elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Batch] Poner comentarios en el comando Set.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Batch] Poner comentarios en el comando Set.  (Leído 17,235 veces)
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
[Batch] Poner comentarios en el comando Set.
« en: 8 Marzo 2009, 05:42 am »

Encontre una forma de poner comentarios en el comando set, sin alterar el comportamiento del mismo.

Un ejemplo para que quede bien claro :
Código:
@echo off
set "saludo=Hola" // Este es mi comentario.
echo.%saludo%

Hay que entrecomillar la "asignación", luego pueden usar cualquier estilo de comentario.

Algunos ejemplos :

Código:
@echo off
set /p "suma=2+2 : " # La suma, my comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

Código:
@echo off
set /p "suma=2+2 : "  // La suma
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

Código:
@echo off
set /p "suma=2+2 : "  /* La suma */
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma
Código:
@echo off
set /p "suma=2+2 : "  ' Comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

Código:
@echo off
set /p "suma=2+2 : "  Comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma
Código:
@echo off
for %%. in (H e l l o _ W o r l d) do (
    call :show %%.
)
goto:eof

:show
<nul set /p "=%*" // Comentario
ping -n 1 loopback > nul
goto:eof

En realidad es sencillo, ya que el Set solo toma el primer parametro, lo siquiente es ignorado.

El truco ya aparece en el sitio de Rob Van Der Woude :
Citar
Leo Gutierrez Ramirez found a way to add any  (language) style comments to SET /P commands:

@echo off
set /p "suma=2+2 : " # La suma, my comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

@echo off
set /p "suma=2+2 : "  // La suma
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

@echo off
set /p "suma=2+2 : "  /* La suma */
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

@echo off
set /p "suma=2+2 : "  ' Comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma

@echo off
set /p "suma=2+2 : "  Comment
if %suma% equ 4 (
    echo.Bien
) else (
    echo.Mal
)
set suma


@echo off
for %%. in (H e l l o _ W o r l d) do (
    call :show %%.
)
goto:eof

:show
<nul set /p "=%*" // Comentario
ping -n 1 loopback > nul
goto:eof

As a matter of fact, any text after the closing doublequote is ignored.

Thanks Leo
Código:
http://www.robvanderwoude.com/clevertricks.php

Saludos.


« Última modificación: 9 Marzo 2009, 13:54 pm por sirdarckcat » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Darioxhcx


Desconectado Desconectado

Mensajes: 2.294


Ver Perfil
Re: Poner comentarios en el comando Set. [Batch]
« Respuesta #1 en: 8 Marzo 2009, 17:32 pm »

solo sirve en set no ?
no lo puedo probar no estoy en win , pero es muy bueno
para cuando se tiene que explicar una linea
gracias Leo

saludos


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Poner comentarios en el comando Set. [Batch]
« Respuesta #2 en: 8 Marzo 2009, 18:38 pm »

Si, solo para el Set, tiene que haber más, solo hay que encontrarlos.

Nota: Para el parametro /a no sirve esto.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
0x0309

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: Poner comentarios en el comando Set. [Batch]
« Respuesta #3 en: 8 Marzo 2009, 22:58 pm »

Código:
2>nul set /a "operacion=1000*2-500" se multiplica 1000 por 2 y se restan 500
echo.%operacion%
« Última modificación: 8 Marzo 2009, 23:02 pm por 0x0309 » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Poner comentarios en el comando Set. [Batch]
« Respuesta #4 en: 8 Marzo 2009, 23:08 pm »

Tienes razon, tambien funciona para el parametro /a.

Crei haber visto algo como "Falta operador"

Gracias.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
0x0309

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: Poner comentarios en el comando Set. [Batch]
« Respuesta #5 en: 8 Marzo 2009, 23:49 pm »

En realidad, me equivoqué, no se puede, porque al redirigir la salida de errores a nul se evita el mensaje de error, pero si en el "comentario" colocas un símbolo como + * / sin anteponer nada, por ejemplo +
dirás suma 0. por lo que igual se interpretan dichos carácteres.

Ejemplo:
Código:
@echo off
2>nul set /a "operacion=1000*2-500" +1 se multiplica 1000 por 2 y se restan 500
echo.%operacion%
pause
debería dar 1500, pero da 1501

y lo que tú dices puede utilizarse siempre que no se utilizen símbolos especiales

Código:
set "system=wintendo" /* & calc comentario */
En línea

Germaniac

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: [Batch] Poner comentarios en el comando Set.
« Respuesta #6 en: 10 Marzo 2009, 00:57 am »

esta no me la sabia. ;)
solo sabia en pause y cls

Código:
echo hola
cls comentario
set "a=adios" comentario
echo %a%
pause cometario
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Batch] Poner el resultado de un comando en una variable
Scripting
moikano→@ 7 35,420 Último mensaje 25 Diciembre 2010, 00:44 am
por FerJGS
comando batch para abrir y poner a la escucha puerto?
Scripting
BATCH.bat 6 10,633 Último mensaje 16 Enero 2011, 18:29 pm
por leogtz
Ocultar comentarios rem al ejecutar un batch
Scripting
bien1 2 4,839 Último mensaje 21 Diciembre 2011, 10:31 am
por bien1
¡Ayuda! Como poner esto en comentarios?...
Sugerencias y dudas sobre el Foro
Puntoinfinito 9 5,457 Último mensaje 20 Marzo 2012, 12:24 pm
por #!drvy
[AYUDA][BATCH] Poner contraseña con maximo de intentos en batch
Scripting
Rikosky 3 4,665 Último mensaje 12 Mayo 2014, 01:30 am
por daryo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines