![]() |
|
|||||||
|
|
|
LinkBack | Herramientas | Desplegado |
|
|
#1 |
|
Senior Member
Fecha de Ingreso: marzo-2005
Mensajes: 425
|
lo que necesito hacer es poner 2 if en una sola linea pero no puedo.
la cosa seria asi: if a=1 and b=2 etc. etc y tambien if a=1 or b=2 etc etc. el problema que asi no anda y no se como hacerlo. para el primero intente con: if a=1, if b=2 (goto :1) else (goto :2) pero cuando el a esta mal el programa hace cualquier cosa. ya que no va ni para el :1 ni para el :2. |
|
|
|
|
|
#2 |
|
Senior Member
Fecha de Ingreso: agosto-2005
Mensajes: 693
|
@echo off
:start set /p usr=Username: set /p pss=Password: IF %usr%==iobh ( goto chkpss ) ELSE ( cls msg * Error. Username or Password are incorrect. exit ) :chkpss IF %pss%==password ( goto menu ) ELSE ( cls msg * Error. Username or Password are incorrect. exit ) :menu cls echo BIEN ![]() pause exit
__________________
"No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela."<br /><br />-Albert Einstein<br /><br />
|
|
|
|
|
|
#3 |
|
Senior Member
Fecha de Ingreso: septiembre-2005
Mensajes: 195
|
Prueba asi:
set a=1 set b=3 if %a%==1 (msg * HOLA) & if %b%==2 (msg * ADIOS) ELSE (msg * REHOLAS) donde b dependara de 1 asi que si uno es verdadero se ejecutara la condicion de b y si es falsa hara lo otro. Como no te he entendido muy bien lo realmente te dejo ese codigo a ver si te sirve como ejemplo para lo que quieres hacer. Saludos |
|
|
|
|
|
#4 |
|
Senior Member
Fecha de Ingreso: diciembre-2005
Mensajes: 211
|
lo que dice Gvapo estaria bien creo , porque el simbolo & hace que vaya a la linea siguiente.
Salu2 |
|
|
|
|
|
#5 |
|
Senior Member
Fecha de Ingreso: diciembre-2005
Mensajes: 211
|
Lo comprobe y si que funciono
@echo off set a=1 set b=2 if %a%==1 (echo hola) & if %b%==2(echo adios) pause exit Salu2 |
|
|
|
|
|
#6 | |
|
Senior Member
|
una preguntilla que estoy algo desconectado, esa informacion nueva de donde es??
EJEMPLO Cita:
|
|
|
|
|
|
|
#7 | |
|
Senior Member
Fecha de Ingreso: septiembre-2005
Mensajes: 195
|
Cita:
set a=1 set b=2 Crean dos variables y la condicion: if %a%==1 ( echo hola ) & if %b%==2 ( echo adios) dicen que si la condicion es verdadera lo ejecutan lo unico nuevo es & que une las dos condiciones. Saludos y espera que te ayude |
|
|
|
|
|
|
#8 |
|
Senior Member
|
pero no es solo eso... lo que pasa es que cuando yo estaba en el foro solo estaban echo, copy, y muy pocos comandos.... lo que me gustaria es que me enseñarais o me dejarais algun tutorial o algo para aprender esto mejor... x ejemplo, "if" es la primerA vez k lo veo, "set a=1" tambien, y lo que me gustaria es saber lo que hacen(no solo esos) y como colocarlos para saber hacerlos yo...
muxas gracias x tu interes en ayudarme :P |
|
|
|
|
|
#9 |
|
Senior Member
Fecha de Ingreso: septiembre-2005
Mensajes: 195
|
Ok te lo explico mejor de todas formas puedes ver la ayuda del ms-dos con set /? y if /? Pero te lo explico.
El comando set crea variables si yo pongo por ejemplo set a=HOLA Se asigna a la variable "a" la palabra HOLA y para mostrarla se puede poner esto: echo %a% Y mostrara en la pantalla HOLA la variable siempre con los signos de porciento %. Y el comando IF es una condicion que en español significa si y se usa de la siguiente manera: If %a%==HOLA msg * HOLA Donde if es la condicion %a% es la variable y comprueba que es igual a HOLA y si lo es muestra un mensaje que dice HOLA en una frase normal quedaria asi: SI "A" ES IGUAL A "HOLA" MENSAJE HOLA Tambien se podria utilizar lo contrario ejem. if %a%==HOLA ( msg * HOLA ) ELSE msg * ADIOS La clausula ELSE dice que si %a% no es igual a HOLA muestra un mensaje que diga ADIOS. Espero haberte ayudado Saludos |
|
|
|
|
|
#10 |
|
Senior Member
|
ok, lo entiendo un poco, pero me podrias pones un ejemplo de eso que me ahs explicado??
esque he heco este pero no funciona... @ echo echo.me kieres? set a= if %a%==si ( msg * HOLA ) ELSE msg * ADIOS pause la intencion es que pongan si o no despues de set a= muchas gracias por tu ayuda, en serio... |
|
|
|
|
|
#11 |
|
Senior Member
Fecha de Ingreso: septiembre-2005
Mensajes: 195
|
Ya esq tines que ponerlo asi
@ echo echo.me kieres? set /p a= if %a%==si ( msg * HOLA ) ELSE msg * ADIOS pause En vez de "set a=" tienes que poner "set /p a=" Y lo del mensaje solo te funcionara si tienes windows XP. Saludos |
|
|
|
|
|
#12 |
|
Senior Member
|
ok, si k tengo xP, y gracias x todo.
![]() oye, ke significa una variabe? |
|
|
|
|
|
#13 |
|
Senior Member
Fecha de Ingreso: marzo-2005
Mensajes: 425
|
una variable es una "cosa" que guarda informacion.
por ejemplo, poniendo set /p hacemos que el usuario escriba algo. lo que escribe se guarda en una variable. ej: set /p 1= if %1%==marcos (echo sos un genio) else (sos un tonto) asi de facil! ademas de eso tiene muchas otras posibilidades para usar. suerte |
|
|
|
|
|
#14 |
|
Senior Member
|
ok ok, ya me voy situando, y que mas posibilidades hay para hacer??
esque me encanta el lenguaje batch!! xDDD |
|
|
|
|
|
#15 |
|
Senior Member
Fecha de Ingreso: septiembre-2005
Mensajes: 195
|
Mira en la ayuda del ms-dos estos comandos y leete la ayuda set /? msg /? goto /? if /? etc. etc.
Saludos |
|
|
|
|
|
#16 |
|
Guest
Mensajes: n/a
|
Hola a todos, tengo una duda, quisiera saber si hay alguna forma de que si la pregunta que se hace no la contestan corectamente vualva a salir hasta que sea correctamente contestada y si la contestan correctamente continue con la siguiente pregunta, espero averme explicado y muchas gracias por su atencion.
Saludos. TE AMO SANDRA. |
|
|
|
#17 |
|
Senior Member
Fecha de Ingreso: agosto-2005
Mensajes: 693
|
Claro que es posible, mediante a las secciones
@echo off :start set /p var=Pregunta1: IF %var%==respuesta ( goto preg2 ) else ( goto start ) reg2set /p var2=Pregunta1: IF %var%==respuesta2 ( goto preg3 ) else ( goto preg2 ) y haci susecivamente Salu2
__________________
"No entiendes realmente algo a menos que seas capaz de explicarselo a tu abuela."<br /><br />-Albert Einstein<br /><br />
|
|
|
|
|
|
#18 |
|
Guest
Mensajes: n/a
|
Muchisimas Gracias IOBH, tu respuesta me ayudo muchisimo, en verdad gracias
.Saludos. TE AMO SANDRA. |
|
|
|
#19 |
|
Guest
Mensajes: n/a
|
ummmm que manera de comicarse.....
echo off cd\ :reverify if exist "c:\archivo1.txt" (if exist "c:\archivo2.txt" (goto :salir) else goto :create2) else goto :create1 :create1 echo archivo 1 creado>> "c:\archivo1.txt" goto :reverify :create2 echo archivo 2 creado>> "c:\archivo2.txt" goto :reverify :salir exit creo qe era eso lo q e pedia...... |
|
![]() |
| Herramientas | |
| Desplegado | |
|
|