Título: [batch] comparar una variable con varios valores Publicado por: moikano→@ en 21 Diciembre 2010, 16:34 pm Saludos
Estoy intentando comparar una variable con varios valores pero no lo consigo, algo estoy haciendo mal o no hago lo debido. Os enseño lo que he probado. Código La variable está definida anteriormente, quiero decir que no está vacía sino sería fácil saber cual es el error =D Luego también probé con for, pero tampoco me funcionó. Código En caso de que se pueda hacer sin el for preferiría hacerlo sin el, ya que creo quedará mas corto el code. Gracias de antemano =) Título: Re: [batch] comparar una variable con varios valores Publicado por: Diego_Schneider en 22 Diciembre 2010, 01:56 am Buenas.
El problema es simple, no podes comparar con varias al mismo tiempo. Mira este Código: @echo off set /p var="Elija el numero de la variable > " if "%var%"=="1" goto :si if "%var%"=="8" goto :si if "%var%"=="15" goto :si goto :no :si echo la variable coincide con 1,8 o 15 pause exit :no echo la variable no coincide pause exit hay dos problemas: 1°- Para comparar, hay que usar dos veces el signo igual ( == en vez de = ) 2°- Hay que comparar de uno en uno, si %var% es igual a 1, va a :si si es igual a 8 o a 15, tambien, y si no se cumple ninguno, continua con el codigo, o sea, que te manda a :no 3°- Si al final del :si no poner un "exit" te va a continuar con el :no , por eso agregué "pause & exit" al final del :si y :no Bueno, ademas, agregue para que elijas el numero de la variable, a ver si funciona en todos los ejemplos. El programa esta completamente funcional :P asi que no te va a dar problemas ese. Nos vemos ;) Título: Re: [batch] comparar una variable con varios valores Publicado por: moikano→@ en 22 Diciembre 2010, 02:40 am Si esa solución es la que apliqué yo, pero quería saber si hay una forma mas "limpia" de comparar una variable con varios valores.
Gracias igualmente =) Título: Re: [batch] comparar una variable con varios valores Publicado por: flony en 22 Diciembre 2010, 04:42 am digo una idea seria hacer un seudocodigo que simule un vector aplicando polimetria :rolleyes:...pero la verdad esta tan sencilla la solucion que dio Diego_Schneider que no aplicaria nada ;D
Título: Re: [batch] comparar una variable con varios valores Publicado por: moikano→@ en 22 Diciembre 2010, 11:52 am Citar pseudocódigo que simule un vector aplicando polimetría Si supiera lo que me estas diciendo =DCitar Si esa solución es la que apliqué yo, pero quería saber si hay una forma mas "limpia" de comparar una variable con varios valores. Pues eso =) Título: Re: [batch] comparar una variable con varios valores Publicado por: xassiz~ en 22 Diciembre 2010, 13:25 pm Modificando un poco tu código :rolleyes:
Código
Título: Re: [batch] comparar una variable con varios valores Publicado por: moikano→@ en 22 Diciembre 2010, 13:48 pm Código: if %var%=%%~a Solo era ponerle el?! →~←Vaya pues gracias. Voy a probarlo. Título: Re: [batch] comparar una variable con varios valores Publicado por: xassiz~ en 22 Diciembre 2010, 13:51 pm No, lo que pasa es que tu tenías puesto esto:
Código Además, el símbolo de comparación es "==" Título: Re: [batch] comparar una variable con varios valores Publicado por: moikano→@ en 22 Diciembre 2010, 14:03 pm Si si, lo e modificado conforme lo e visto al comparar el tuyo con le mio =)
De todas formas no funciona muy bien igualmente, me explico con el código mejor: Código
Bueno pues hoy estamos a día 22 y el code me saca que "no coincide" con los tres valores. Título: Re: [batch] comparar una variable con varios valores Publicado por: xassiz~ en 22 Diciembre 2010, 14:06 pm %dat%, no dat
Código
Título: Re: [batch] comparar una variable con varios valores Publicado por: moikano→@ en 22 Diciembre 2010, 15:06 pm Ok ahora si, dejando el
Citar set dat=%date:~0,2% fuera del for si que me funciona.El código quedaría así: Código
gracias Pablo =) Título: Re: [batch] comparar una variable con varios valores Publicado por: xassiz~ en 22 Diciembre 2010, 16:08 pm De nada, para eso estamos :P
Título: Re: [batch] comparar una variable con varios valores Publicado por: leogtz en 22 Diciembre 2010, 18:43 pm @moikano→@
Código Poner varias sentencias en una línea es un mal habito de programación. Título: Re: [batch] comparar una variable con varios valores Publicado por: moikano→@ en 22 Diciembre 2010, 19:25 pm Ouch =\
Entendido =) |