Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Himitsu en 25 Septiembre 2011, 19:42 pm



Título: Mostrar desigualdad en Batch.
Publicado por: Himitsu en 25 Septiembre 2011, 19:42 pm
Buenas, ultimamente me he estado interesando en Batch y tenia una duda.
Para hacer una condicion a cerca de una variable uso esto:
if %opc%== xx goto yy
como podria poner esto mismo pero para indicar una desigualdad en lugar de una igualdad?
if %opc%¿? xx goto yy
Gracias.


Título: Re: Mostrar desigualdad en Batch.
Publicado por: Darioxhcx en 25 Septiembre 2011, 19:48 pm

    EQU - igual
    NEQ - no igual
    LSS - menor que
    LEQ - menor que o igual
    GTR - mayor que
    GEQ - mayor que o igual

if %V1% NEQ %V2%

si mal no recuerdo era asi, deberias fijarte
saludos


Título: Re: Mostrar desigualdad en Batch.
Publicado por: Himitsu en 25 Septiembre 2011, 20:00 pm
Gracias! por fin lo tengo!  :D


Título: Re: Mostrar desigualdad en Batch.
Publicado por: scalverth en 15 Septiembre 2012, 02:23 am
Usando la explicación dada arriba estoy tratando de hacer uso de la desigualdad, pero no obtengo los resultados esperados, podria alguien revisar mi codigo y decirme en que parte estoy fallando.

Código:
@echo off
SET EXPIRA=10/09/2013
IF %DATE% GEQ %EXPIRA% goto expirado
IF %DATE% LSS %EXPIRA% goto noexpirado
:expirado
echo expirado
goto end
:noexpirado
echo no expira
:end
exit


Título: Re: Mostrar desigualdad en Batch.
Publicado por: Eleкtro en 15 Septiembre 2012, 05:37 am
Estás fallando en que sales de la ejecución antes d epoder mostrar la slaida de ehco... 8Exit), añade un pause antes del comando "exit", y listo.

De todas formas esa comprobación no te va a funcionar...ya que batch ordena y compara los números "mal"., ya que como comprenderás, el primer número de tu ejemplo es mayor que el de la fecha de hoy...

Código
  1. SET EXPIRA=10/09/2013
  2. echo "%DATE:/=%" GEQ "%EXPIRA:/=%"

(http://img685.imageshack.us/img685/4206/captura2st.png)

Así que cambiar el orden de los números, así:

Código
  1. @echo off
  2.  
  3. SET EXPIRA=10/09/2013
  4.  
  5. Set "DATE=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%"
  6. SET "EXPIRA=%EXPIRA:~6,4%%EXPIRA:~3,2%%EXPIRA:~0,2%"
  7.  
  8. Echo IF "%DATE:/=%" GEQ "%EXPIRA%"
  9. if "%DATE:/=%" GEQ "%EXPIRA%" (Echo Expirado) ELSE (Echo No expira)
  10.  

(http://img545.imageshack.us/img545/6986/captura1o.png)

Saludos



Título: Re: Mostrar desigualdad en Batch.
Publicado por: scalverth en 15 Septiembre 2012, 07:14 am
Esta es la solución a mi problema, agradezco su colaboración y la pronta respuesta que me brinda teniendo en cuenta que recien me acabo de registrar en la comunidad.