Hace poco entre al mundo de la programacion en batch, el cual me abrio todo un mundo nuevo respecto a la forma en que puedo usar mi computadora. Empezare mostrando algunas estupideces.
primer programa para molestar
@echo off
start uno.bat
pause
exit
guardar como : uno.bat
Cuando hacemos doble click sobre este programa se abre y ejecuta el comando que lleva pero como el comando es que habra el archivo uno.bat se abre asi mismo y vuelve a ejecutar el comando, abriendo un montonazo de ventanas en el monitor hasta trabar la maquina, no me acuerdo como pararlo asi que tendran que reiniciar la pc para pararlo.
segundo programa
@echo off
start www.google.com.ar
start uno.bat
pause
exit
guardar como:uno.bat
Este es parecido al anterior solo que al agregar start www.google.com.ar abre en una pestaña google y luego el comando start uno.bat vuelve a abrir el mismo archivo y ejecuta nuevamente los comandos, resultado se abren las ventanas de la shell de windows y la pagina mencionada un monton de veces hasta trabar la maquina. solucion reiniciar la maquina nuevamente. Si le sacamos el pause, se abren y se cierran las ventanas de las shell de windows pero siguen abriendose las pestañas con google hasta trabar la maquina.
tercer programa
@echo off
set /p e=esccribe un numero del 1 al 5=
if %e%==1 echo sos un gilazo de primera
if %e%==2 echo sos un justin bieber de primera
if %e%==3 echo sos un capo de primera
if %e%==4 echo sos groso sabelo
if %e%==5 echo claro que si campeon
pause
exit
guardar como:dos.bat
El nombre no importa solo que termine en .bat
Vallamos a las explicaciones
El comando set se usa para definir variables en batch
set /p e= este define la variable"e" pero nos pide que nosotros le pongamos un valor mientras se ejecuta el batch. Dicho valor puede ser un numero o una letra o palabra.
set /p e= escribe un numero=
En esta forma aparece en la ventana la expresion" escribe un numero" el que se guardara en la variable "a".
El comando echo
echo eres un gil, simplemente muestra en la ventana la oracion "eres un gil"
El comando if
if %e%==1 echo sos un gilazo de primera.
explicacion, Si el valor de la variable es e=1 mostrar "sos un gilazo de primera"
donde para extraer el valor de la variable e se debe poner %e%.
como vimos se puede usar el if para distintas posibilidades del valor de la variable e, en este caso 5.
Cuarto programin en batch
@echo off
set /p a= escribe un numero=
set /p b=escribe tu segundo numero=
set /a c=a+b
set /a d=a*b
echo su suma es %c% y su producto es %d%
pause
exit
set /p a=escribe un numero=
mostrara en la ventana "escribe un numero" y esperara a que teclees cualquier numero que quieras y dicho numero sera el valor de la variable "a"
set /a c=a+b
De esta forma con el comando set/a se indica que en la variable "c" se guardara el resultado de la suma a+b
idem para el producto.
echo su suma es %c% y su producto es %d%, mostrara en ventana lo siguiente
su suma es "resultado de la suma" y su producto es "resultado del producto" , por supuesto los numeros correspondientes.
@echo off
set /p a= escribe un numero=
set /p b= escribe otro numero=
set /a c=a+b
set /a d=a*b
if %c% lss %d% (echo el producto es %d%) else (echo la suma es %c%)
pause
exit
if, else:
if %c% lss %d% (echo el producto es %d%) else (echo la suma es %c%)
si el valor de "c" es menor que el valor de "d" mostrar el producto es "producto", en caso contrario mostrar la suma es "suma", donde suma y producto son los respectivos valores numericos de cada operacion.
es decir si ponemos a=3 y b=2, el producto es menor que su suma 2*3>2+3 entonces se cumple la primera condicion luego, mostrara el producto es 6.
En el caso a=1 , b=2 no cumple la primera condicion o es contraria a la primera condicion luego actua el else
mostrando su suma es 3.
Continuando con la idea de molestar pondre el quinto programin
@echo off
set b=5
set /p a=escribe un numero del uno al diez=
if %a% lss %b% (start www.taringa.net) else (start www.poringa.net)
pause
exit
Declaro la variable invisible b=5,
pido que escribas un numero con set /p a=......= donde a es variable que tomara el valor que introduscas
lss= menor que
if %a% lss %b% (start www.taringa.net) else (start www.poringa.net)
si "a" es menor que "b" abre www.taringa.net
else: si a no es menor que b abre www.poringa.net
Sexto programin en batch
@echo off
echo hayer pase por tu casa y me tiraste con una manzana
pause>null
cls
echo esta mañana pase por tu casa y me tiraste con otra manzana
pause>null
cls
echo mañana ya no pasare por que me duele la cabeza de tantos manzanazos
pause>null
exit
solo un par de oraciones para usar el comando cls
borra lo que haya en la ventana mostando la oracion que le sigue
Septimo programin en batch.
@echo off
set /a cuenta=0
:bucle
set /a cuenta=%cuenta%+1
echo %cuenta%
if %cuenta%==10 (pause) else (goto :bucle)
set /a cuenta=0
Se define y se inicializa la variable cuenta a 0
:bucle
lo de abajo es el codigo que se ejecuta repetidamente
set /a cuenta=%cuenta%+1
se le da un nuevo valor a cuenta apartir del valor anterior sumado 1
if %cuenta%==10 (pause) else (goto :bucle)
si el valor de cuenta es 10 para el bucle (poniendo en pausa el programa)
else: si es menor vuelve a la etiqueta bucle y ejecuta nuevamente el codigo sumandole a cuenta 1 otra vez.
esto imprimiria lo siguiente en la shell
1
2
3
4
5
6
7
8
9
10
presione una tecla para continuar...
puesto que cuando cuenta vale 10 el programa debe quedar en pausa.
Vamos por el septimo y ultimo programa en batch. Esta esta bien loco.
@echo off
title Hacer media de dos numeros
:principio
set/p cant=Entre cuantos numeros quiere hacer la media?
set/a contador=%cant%
set total=0
if %cant% LSS 2 (goto mal) else (goto pregunta)
:mal
echo Debe indicar un numero mayor o igual que 2
goto principio
:pregunta
set/p num=Escriba uno de los %cant% numeros
set/a total=%total%+%num%
set/a contador=%contador%-1
if not %contador% == 0 (goto pregunta)
set/a media= %total% / %cant%
echo.
echo La media es %media%
pause >nul
exit
este lo saque de la siguiente paginola
http://www.tuwebdeinformatica.com/Programar/curso_batch/goto_if_not_else.html
bueno hasta la proxima vez que se me den las ganas de postear algo.
Este se me ocurrio recien nomas te dice si un numero es par o impar
@echo off
:inicio
set /p a=escribe tu numero=
set /a res=%a%-2
:resta
set /a res=%res%-2
if %res%==1 (echo su numero es impar)
if %res%==0 (echo su numero es par) else (goto:resta)
goto:inicio
toma ese numero y le resta 2, si el resultado es 1, que seria para un numero impar por ejemplo 3, termina mostrando que ese numero es impar, si el resultado es distinto de 1 miramos la condicion siguiente que dice si el resultado es 0 que seria por ejemplo si ese numero es 2, en caso contarario por la eqitueta goto vuelve con ese resultado de restar 2 y repite las operaciones de resta, hasta que sea 1 o 0 el resultado en cuyo caso te dira si es par o impar y termina el programa.
primer programa para molestar
@echo off
start uno.bat
pause
exit
guardar como : uno.bat
Cuando hacemos doble click sobre este programa se abre y ejecuta el comando que lleva pero como el comando es que habra el archivo uno.bat se abre asi mismo y vuelve a ejecutar el comando, abriendo un montonazo de ventanas en el monitor hasta trabar la maquina, no me acuerdo como pararlo asi que tendran que reiniciar la pc para pararlo.
segundo programa
@echo off
start www.google.com.ar
start uno.bat
pause
exit
guardar como:uno.bat
Este es parecido al anterior solo que al agregar start www.google.com.ar abre en una pestaña google y luego el comando start uno.bat vuelve a abrir el mismo archivo y ejecuta nuevamente los comandos, resultado se abren las ventanas de la shell de windows y la pagina mencionada un monton de veces hasta trabar la maquina. solucion reiniciar la maquina nuevamente. Si le sacamos el pause, se abren y se cierran las ventanas de las shell de windows pero siguen abriendose las pestañas con google hasta trabar la maquina.
tercer programa
@echo off
set /p e=esccribe un numero del 1 al 5=
if %e%==1 echo sos un gilazo de primera
if %e%==2 echo sos un justin bieber de primera
if %e%==3 echo sos un capo de primera
if %e%==4 echo sos groso sabelo
if %e%==5 echo claro que si campeon
pause
exit
guardar como:dos.bat
El nombre no importa solo que termine en .bat
Vallamos a las explicaciones
El comando set se usa para definir variables en batch
set /p e= este define la variable"e" pero nos pide que nosotros le pongamos un valor mientras se ejecuta el batch. Dicho valor puede ser un numero o una letra o palabra.
set /p e= escribe un numero=
En esta forma aparece en la ventana la expresion" escribe un numero" el que se guardara en la variable "a".
El comando echo
echo eres un gil, simplemente muestra en la ventana la oracion "eres un gil"
El comando if
if %e%==1 echo sos un gilazo de primera.
explicacion, Si el valor de la variable es e=1 mostrar "sos un gilazo de primera"
donde para extraer el valor de la variable e se debe poner %e%.
como vimos se puede usar el if para distintas posibilidades del valor de la variable e, en este caso 5.
Cuarto programin en batch
@echo off
set /p a= escribe un numero=
set /p b=escribe tu segundo numero=
set /a c=a+b
set /a d=a*b
echo su suma es %c% y su producto es %d%
pause
exit
set /p a=escribe un numero=
mostrara en la ventana "escribe un numero" y esperara a que teclees cualquier numero que quieras y dicho numero sera el valor de la variable "a"
set /a c=a+b
De esta forma con el comando set/a se indica que en la variable "c" se guardara el resultado de la suma a+b
idem para el producto.
echo su suma es %c% y su producto es %d%, mostrara en ventana lo siguiente
su suma es "resultado de la suma" y su producto es "resultado del producto" , por supuesto los numeros correspondientes.
@echo off
set /p a= escribe un numero=
set /p b= escribe otro numero=
set /a c=a+b
set /a d=a*b
if %c% lss %d% (echo el producto es %d%) else (echo la suma es %c%)
pause
exit
if, else:
if %c% lss %d% (echo el producto es %d%) else (echo la suma es %c%)
si el valor de "c" es menor que el valor de "d" mostrar el producto es "producto", en caso contrario mostrar la suma es "suma", donde suma y producto son los respectivos valores numericos de cada operacion.
es decir si ponemos a=3 y b=2, el producto es menor que su suma 2*3>2+3 entonces se cumple la primera condicion luego, mostrara el producto es 6.
En el caso a=1 , b=2 no cumple la primera condicion o es contraria a la primera condicion luego actua el else
mostrando su suma es 3.
Continuando con la idea de molestar pondre el quinto programin
@echo off
set b=5
set /p a=escribe un numero del uno al diez=
if %a% lss %b% (start www.taringa.net) else (start www.poringa.net)
pause
exit
Declaro la variable invisible b=5,
pido que escribas un numero con set /p a=......= donde a es variable que tomara el valor que introduscas
lss= menor que
if %a% lss %b% (start www.taringa.net) else (start www.poringa.net)
si "a" es menor que "b" abre www.taringa.net
else: si a no es menor que b abre www.poringa.net
Sexto programin en batch
@echo off
echo hayer pase por tu casa y me tiraste con una manzana
pause>null
cls
echo esta mañana pase por tu casa y me tiraste con otra manzana
pause>null
cls
echo mañana ya no pasare por que me duele la cabeza de tantos manzanazos
pause>null
exit
solo un par de oraciones para usar el comando cls
borra lo que haya en la ventana mostando la oracion que le sigue
Septimo programin en batch.
@echo off
set /a cuenta=0
:bucle
set /a cuenta=%cuenta%+1
echo %cuenta%
if %cuenta%==10 (pause) else (goto :bucle)
set /a cuenta=0
Se define y se inicializa la variable cuenta a 0
:bucle
lo de abajo es el codigo que se ejecuta repetidamente
set /a cuenta=%cuenta%+1
se le da un nuevo valor a cuenta apartir del valor anterior sumado 1
if %cuenta%==10 (pause) else (goto :bucle)
si el valor de cuenta es 10 para el bucle (poniendo en pausa el programa)
else: si es menor vuelve a la etiqueta bucle y ejecuta nuevamente el codigo sumandole a cuenta 1 otra vez.
esto imprimiria lo siguiente en la shell
1
2
3
4
5
6
7
8
9
10
presione una tecla para continuar...
puesto que cuando cuenta vale 10 el programa debe quedar en pausa.
Vamos por el septimo y ultimo programa en batch. Esta esta bien loco.
@echo off
title Hacer media de dos numeros
:principio
set/p cant=Entre cuantos numeros quiere hacer la media?
set/a contador=%cant%
set total=0
if %cant% LSS 2 (goto mal) else (goto pregunta)
:mal
echo Debe indicar un numero mayor o igual que 2
goto principio
:pregunta
set/p num=Escriba uno de los %cant% numeros
set/a total=%total%+%num%
set/a contador=%contador%-1
if not %contador% == 0 (goto pregunta)
set/a media= %total% / %cant%
echo.
echo La media es %media%
pause >nul
exit
este lo saque de la siguiente paginola
http://www.tuwebdeinformatica.com/Programar/curso_batch/goto_if_not_else.html
bueno hasta la proxima vez que se me den las ganas de postear algo.
Este se me ocurrio recien nomas te dice si un numero es par o impar
@echo off
:inicio
set /p a=escribe tu numero=
set /a res=%a%-2
:resta
set /a res=%res%-2
if %res%==1 (echo su numero es impar)
if %res%==0 (echo su numero es par) else (goto:resta)
goto:inicio
toma ese numero y le resta 2, si el resultado es 1, que seria para un numero impar por ejemplo 3, termina mostrando que ese numero es impar, si el resultado es distinto de 1 miramos la condicion siguiente que dice si el resultado es 0 que seria por ejemplo si ese numero es 2, en caso contarario por la eqitueta goto vuelve con ese resultado de restar 2 y repite las operaciones de resta, hasta que sea 1 o 0 el resultado en cuyo caso te dira si es par o impar y termina el programa.