Variable general....

Iniciado por z3nth10n, 3 Junio 2012, 21:02 PM

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

z3nth10n

Hola amigos, no hay alguna forma que por ejemplo, que haya un if "%*%"=="lo que sea" comando??? algo así? es para enlazar todas las variables a un comando en comun...  :huh:

Interesados hablad por Discord.

BatchianoISpyxolo

Cita de: Seazoux en  3 Junio 2012, 21:02 PM
Hola amigos, no hay alguna forma que por ejemplo, que haya un if "%*%"=="lo que sea" comando??? algo así? es para enlazar todas las variables a un comando en comun...  :huh:

Puedes hacer un for.
Puede que desees aprender a programar desde 0: www.espascal.es

Eleкtro

Cita de: Seazoux en  3 Junio 2012, 21:02 PM
no hay alguna forma que por ejemplo, que haya un if "%*%"=="lo que sea"
es para enlazar todas las variables a un comando en comun... 

No, Las variables van por un lado, Y los argumentos por otro.

%1 = argumento 1
%2 = argumento 2
etc...
%* = Todos los argumentos agrupados.


%Var1% = Variable 1
%Var2% = Variable 2
etc...


Bueno eso creo que ya lo sabes :P.
Para agrupar todas las variables, Debes indicar el nombre de cada una...

Por ejemplo:
Código (dos) [Seleccionar]
If "%Var%1 %Var2% %var3%" EQU "Lo que sea" (Comando...)

Saludos








z3nth10n

Creo que casi he terminado de comprenderlo...

If "%Var%1 %Var2% %var3%" EQU "Lo que sea" (Comando...)

algo asi...

If "%Var%1 %Var2% %var3%" EQU "letra a poner" (exit)

If "%Var%1 %Var2% %var3%" EQU "e" (exit)

es decir que si pongo e se cierra el bat....  :o

Interesados hablad por Discord.

Eleкtro

Creo que no me has comprendido

Yo me referia a esto:
Código (dos) [Seleccionar]

@Echo off

Set var1=me
Set var2=gusta
Set var3=batch

If "%VAR1%%VAR2%%VAR3%" EQU "megustabatch" (Echo: Te gusta Batch!)

Pause
exit


Pero creo que tu intención es comprobar si el valor de esas 3 variables es el mismo? (e)
(Eso no se puede hacer en Batch de un modo "normal")

Ejemplos:

Código (dos) [Seleccionar]

@Echo off

Set var1=e
Set var2=e
Set var3=e

Echo "%VAR1%"| FINDSTR "^\"e\"$" >NUL && Echo "%VAR2%"| FINDSTR "^\"e\"$" >NUL && Echo "%VAR3%"| FINDSTR "^\"e\"$" >NUL && COMANDO

Pause
exit


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

Set var1=e
Set var2=e
Set var3=e

If "%VAR1%"=="e" (
If "%VAR2%"=="e" (
If "%VAR3%"=="e" (
Comando
)
)
)

Pause
exit


Si no es eso, especifica :P

saludos








z3nth10n

No me estoy enterando de nada... Explicacion básica, si yo pongo exit, y tengo2 variables, yo quiero que exit se cumpla enlas dos variables con un mismo comando, algo asi como una matriz...

Normalmente se suele hacer asi:
if "%var1%"=="exit" exit
if "%var2%"=="exit" exit
if "%var...%"=="exit" exit


lo que quiero es algo asi:

if "%*"=="exit" exit

:huh:

Interesados hablad por Discord.

Eleкtro

Cita de: Seazoux en  4 Junio 2012, 10:28 AM
Normalmente se suele hacer asi:
if "%var1%"=="exit" exit
if "%var2%"=="exit" exit
if "%var...%"=="exit" exit

lo que quiero es algo asi:
if "%*"=="exit" exit

Para hacer eso ya te lo he aclarado, Lo tienes en los 2 ejemplos que te puse . . .
Tienes que comprobar TODAS las variables como se suele hacer "normalmente", una por una.
No se pueden agrupar con un * comodín/asterisco *, Ni tampoco se puede hacer comprobaciones multi condicionales.

Saludos