Mostrar desigualdad en Batch.

Iniciado por Himitsu, 25 Septiembre 2011, 19:42 PM

0 Miembros y 1 Visitante están viendo este tema.

Himitsu

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.

Darioxhcx


    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

Himitsu


scalverth

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.

@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

Eleкtro

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 (dos) [Seleccionar]
SET EXPIRA=10/09/2013
echo "%DATE:/=%" GEQ "%EXPIRA:/=%"




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

Código (dos) [Seleccionar]
@echo off

SET EXPIRA=10/09/2013

Set "DATE=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%"
SET "EXPIRA=%EXPIRA:~6,4%%EXPIRA:~3,2%%EXPIRA:~0,2%"

Echo IF "%DATE:/=%" GEQ "%EXPIRA%"
if "%DATE:/=%" GEQ "%EXPIRA%" (Echo Expirado) ELSE (Echo No expira)

pause




Saludos









scalverth

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.