Comunidad PHPeros
Lenguajes => Visual Basic => Mensaje iniciado por: aguskpo en 23 de Enero de 2008, 01:16:20 am
-
Bueno gente! aca dejo mi tutorial 100% echo por mi:
Notas importantes:
1.los archivos se gusardan .bat (archivo.bat)
1.es importante poner @echo off al princion
Tutorial: Capitulo 1:
Mensajes/selecciones:
Mensajes:
echo off
echo Hola phperos!
pause
exit
Explicacion:
echo: permite escrivir un mensaje
pause:pausa el programa
exit:sale
Secciones:
@echo off
title Ejemplo
set/p seccion= hola a donde quieres ir? ( calculadora para calculadora):
if %seccion%==calculadora goto calculadora
echo.
echo.
pause>nul
:calculadora
echo Hola! bueno esto es un ejemplo! para ver como hacer una calculadora ve al otro capitulo
echo.
echo.
pause>nul
exit
Explicacion:
title: el titulo de la ventana
set/p:para que un usuario puede escrivir (sirve para secciones)
if %seccion%== (lo que tiene que escrivir el usuario para ir a la seccion) goto (nombre de la seccion): lleva a la seccion indicada
echo.:hace un "espacio"
pause>nul:pausa y separa
:(nombre seccion) : señala la seccion
Capitulo 3: Calculadora
Esto es extremadamente facil:
@echo off
set/p num1=Dime el primer numero que deseas sumar:
echo.
set/p num2=Dime el segundo numero que deseas sumar:
echo.
cls
set/a resultado= num1 + num2
echo.
echo.
echo %num1%
echo + %num2%
echo ______________
echo %resultado%
echo.
echo.
pause>nul
exit
Bueno, este codigo seguro lo entendieron porque tiene lo mismo que antes
restar:
@echo off
set/p num1=Dime el minuendo:
echo.
set/p num2=Dime el sustraendo:
echo.
cls
set/a resultado= num1 - num2
echo.
echo.
echo %num1%
echo - %num2%
echo ______________
echo %resultado%
echo.
echo.
pause>nul
exit
Capitulo 4: nombres,edades,preguntas....
Bueno este es mi ultimo tutorial por ahora, que explica como funciona lo de preguntar un nombre y que despues lo diga, empezemos:
@echo off
title ultimo capitulo
set/p nombre= Como te llamas?
echo.
echo.
echo Hola %nombre%! yo tengo 12 años
set/p edad= Y vos?
echo.
echo.
echo Tienes %edad%? Que bien, %nombre%!
set/p seguro= Estas seguro?
if %seguro%== si goto si
if %seguro%== no goto no
echo.
echo.
pause>nul
:si
echo Que bien!
pause>nul
echo.
cls
:no
echo Y porque me digiste eso antes?
pause>nul
exit
Explicacion:
cls: sirve para poder separa bien las secciones
Espero que hayan disfrutado mi tutorial!
Si ay un error me avisan
Parte del tuto proviene de: http://www.cristalab.com/tips/49576/programacion-avanzada-de-archivos-en-lotes-.bat
-
Capitulo 6: Mensajes en ventana
Descargar ejemplo: http://subimegratis.webspacemania.com/files/2f5be6_ejemplo.bat (http://subimegratis.webspacemania.com/files/2f5be6_ejemplo.bat)
@echo off
msg * Estas experimentando una cosa increible (por ahora)
echo.
set/p nom= Como te llamas?
echo.
echo.
msg * hola %nom%!
echo.
echo.
set/p edad= Cuantos años tienes?
ehco.
msg * Tienes %edad%? que bien!
echo.
echo.
msg * Visita www.phperos.net para aprender mas
pause
exit
Explicacion:
msg *: envia una "alerta"
Bueno luego ire poniendo mas...
Capitulo 7: apagar y alarmas de tiempo
Apagar/reiniciar:
shutdown -s -t 999999 -c "Esto se esta apagando"
Explicacion:
-s: shout down
-t (tiempo): cuando apagar
-c:comentario
Si quieres cancelar el apagado puedes hacer esto:
shutdown -a
Reiniciar:
shutdown -r -f -t 0 -c "Luego volveras"
Esto lo que hace es reiniciar la PC a fuerza bruta, si quieres puedes cambiar el -r, por -s (r de reset, y s de shout down)
Alarmas de tiempo:
At 20:00 msg * Son Las 8 de la noche
Esto es muy facil de hacer, supongo que leyendolo lo vas a entender
Capitulo 8: Registro
REG ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v MIBATCH.bat /t REG_SZ /d
C:\MIBATCH.bat
Explicacion:
REG_ADD: lo que hace es añadir tu batch al registro
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v MIBATCH.bat /t REG_SZ /d: Aqui cambiaremos MIBATCH.BAT por el tuyo
C./MIBATCH.bat: aqui es donde esta nuestro batch actualmente
Capitulo 9:Leer Archivos externos
type "NombreDelArchivo.txt"
Extra sencillo
Capitulo 10: FOR (para avanzados)
Nos sirve para repetir un comando varias veces, en distintas variables.
Un ejemplo, es este:
for /L %%i IN (0,1,21) DO (echo %%i)
En donde /L es para especificar que nuestro for se basara en un conteo de números.
Aquí se repetirá un Echo, que imprimirá números del 0 al 21.
%%i sera el nombre de la variable que almacenara datos
in (0,1,21) aquí especificamos que se repetirá del 0 al 1 y del 1 al 21.
do (echo %%i) Esto es la función que se ejecutara en cada repetición del comando, en este caso un echo que imprimirá la variable.
Batch en algunos casos SI reconoce entre mayúsculas y minúsculas, como en el caso de la variable %%i si esta se llamara %%I no seria reconocida como la misma.
Otro uso que puede ser aplicado en el FOR es el listado de carpetas o archivos, como veremos a continuación:
Listado de archivos:
Código :
@echo off
FOR %%x in (a*) DO echo %%x
pause
Este código, listaría todos los archivos que comienzan con A.
¿Por que? * (asterisco) es un signo comodín, por lo cual al poner a*, estamos diciendo cualquier archivo que tenga una A delante y luego cualquier cosa.
Otro ejemplo del uso de comodín, es listar archivos con extensión común como seria este:
Código :
@echo off
FOR %%x in (*.jpg) DO echo %%x
pause
Aqui nos estaria listando todos los archivos que tengan la extensión .jpg
Listado de Carpetas:
FOR /D %%x in (a*) DO echo %%x
Es casi lo mismo anterior, tan solo que al indicar /D solo se aplica a directorios.
Si quisiéramos que se listaran los directorios, juntos a los directorios que tienen estos dentro se ocupa /R
FOR /R /D %%x in (a*) DO echo %%x
y si quisiéramos listar todos los documentos que están dentro de una carpeta contando los que están dentro de carpetas se ocupa solamente /R (Sin /D)
FOR /R %%x in (a*) DO echo %%x
Capitulo 11: IF
Se puede ocupar para comparar, cadenas, números o para saber si existen archivos.
Ejemplo de sintaxis, if %cadena1% == %cadena2% OrdenAEjecutar
Que se podría leer de la siguiente manera. Si cadena1 es igual a Cadena2 ejecutemos la Orden OrdenAEjecutar.
También existe el NOT para ver si no son iguales.
if not %cadena1%== %cadena2% ejecutarAccion
Para saber si un archivo existe, se usa:
if exist "NombreDelArchivo" AccionAEjecutar
o también para ver si NO existe:
if not exist "NombreDelArchivo" AccionAEjecutar
No solo se puede ocupar el signo == para hacer comparaciones.
EQU, que es el equivalente a ==
NEQ, Sirve para cuando queremos ver Desigualdad.
LSS, Para verificar si el numero es Menor
LEQ, Para verificar si es menor o igual.
GTR, Si es mayor
GEQ, Si es Mayor e igual.
Un ejemplo de esto seria:
Código :
if 5 GTR 4 echo Hola
GENTE CREO QUE ESTOS SON LOS ULTIMOS CAPITULOS DE MI CURSO, ESPERO QUE AYAN APRENDIDO Y DISFRUTADO, YA QUE ME COSTO MUCHO
-
Pues vaya esta bastante currado el tutorial.
Y la verdad que si es desde 0.
Te dejo un karma+!
Saludos
-
Ya modifique!
-
Esta muy bien, pero es una pena que algunas cosas esten copiadas de aqui:
http://www.cristalab.com/tips/49576/programacion-avanzada-de-archivos-en-lotes-.bat
Y no das ni un triste "Sacado en parte de..."
Saludos
-
Gracias por avisar TLX ya e editado y e puesto un pequeño comentario abajo ;)
-
Gracias G2K, me olvide de poner la fuente de IF, OF, ora y alarma
Lo demas 10% mio
-
Es importante ponerlo sobretodo para no mal hambiente entre usuarios del foro o entre foros ;)
Un saludo!
-
Masomenos el 80% del tuto es mio
-
Masomenos el 80% del tuto es mio
Ok ok, pero eso se avisa antes ;)
-
Como seguramente no sabes de batch y has copiado el tutorial.
Aclaraciones: cls, clearscreen, sirve para limpiar la pantalla.
goto es un bucle utilizado principalmente en C y otros lenguajes como vb para ir a un sitio sin tener que pasar por mitad del codigo.
el echo no es para escribir mensajes ni tonterias, es para mostrar cadenas, o algun tipo de dato o texto plano.
-
Goto no es ningun bucle.
En C se le conoce comunmente como el "Goto Maldito" porque siempre dio muchos quebraderos de cabeza a los programadores.
Se utiliza para ir a un lugar concreto, que no es lo mismo que USARLO COMO bucle.
Ademas, echo sirve para mostrar datos en pantalla, que viene siendo lo mismo que escribir mensajes y tal.
No hay que ponerse tan tiquis miquis con estas cosas que todos hemos entendido.
Saludos