Navegación |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Programar en batch(.bat) rapido y sencillo |
|
|
Necesitaremos:
-Bloc de notas
Así quedaria el principio:
Ante todo decir que esto es un manual de introducción y no un manual para expertos.
¿Qué es Batch?
Un archivo batch (o bat) es un archivo de procesamiento por lotes: se trata de archivos de texto sin formato, guardados con la extensión .bat que contienen un conjunto de comandos DOS. Cuando se ejecuta este archivo bat, los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas.
Cualquier comando DOS puede ser utilizado en un archivo batch. Tienes también varios comandos especiales para este tipo de archivos.
¿Qué es un Comando?
Es una orden que le damos al sistema operativo para que haga una tarea determinada.
Ya sabeis lo necesario...ahora empecemos.
Siempre que termineis un programa, debeis de cambiarle la extensión .txt por .bat
SIEMPRE y cuando digo SIEMPRE es SIEMPRE que inicies un programa .bat se iniciara con:
@echo off
Este comando, deshabilita el echo para que no muestre los comandos, que se ejecutaran posteriormente.
Asi será como siempre comenzaremos el programa.
Ahora, para ponerle un titulo a la ventana tenemos que escribir este comando:
title **TITULO**
Sustituyendo **TITULO** por lo que quieras poner de titulo.
Así quedaria el principio:
@echo off
title Mi Primer Programa
Seguimos con más comandos..
Para mostrar un mensaje en la ventana, debeis escribir este comando:
echo **MENSAJE**
Sustituyendo **MENSAJE** por lo que quieras poner en el mensaje.
Para dejar un espacio de linea en el programa. Es lo equivalente a pulsar intro en el Word hay que escribir este comando:
echo.
Para poner un automensaje, es decir, tan solo se vera en el modo edición, donde estamos ahora, en el bloc de notas...(suele escribirse para hacer tus aclaraciones) debemos escribir este comando:
rem **ACLARACIÓN**
Sustituyendo **ACLARACIÓN** por lo que quieras aclararte.
Bien, un ejemplo con todos estos comandos:
@echo off
rem esto es el principio
title HOLA
rem esto es el titulo
echo Hola qué tal?
rem esto es un simple mensaje
echo.
rem bajo la linea
echo Jejeje
rem otro mensaje
¿Lo entendeis? Es sencillo no?? bien, sigamos..
Para hacer una pausa y que te diga el programa "Pulse una tecla para continuar..." debeis escribir este comando:
pause
Si en cambio, lo que quereis es que haga una pausa, pero no diga nada el programa, y que siga al pulsar una tecla, pero sin decirte nada, debeis escribir este comando:
pause > nul
Si quereis acabar el programa y que salga de la ventana, debeis escribir este comando:
exit
Bien, dicho todo esto, podemos ya hacer un programita...
EJEMPLO
@echo off
title hola
echo jeje
echo.
echo jeje
pause
echo lo estais entendiendo todo?
pause > nul
rem hasta aqui todo
exit
Ahora, compliquemos un poquito la cosa...las variables.
Una variable, es una especie de memoria a la que podemos asignarle un dato, para hacerle referencia más adelante. Para entenderlo, un ejemplo:
EJEMPLO
@echo off
title ejemplo variable
set var=hola
%var% qué tal?
pause
exit
La variable se hace con este comando:
set var=**LA VARIABLE**
Sustituyendo **LA VARIABLE** por lo que querais... y después haciendole referencia con este otro comando:
%var%
Hemos puesto var como ejemplo, pero también puedes hacerlo asi:
set **PALABRA**=**LA VARIABLE**
Sustituyendo **PALABRA* y *LA VARIABLE** por lo que querais... y después haciendole referencia con este otro comando:
%**PALABRA QUE HAYAIS PUESTO**%
Sustituyendo **PALABRA QUE HAYAIS PUESTO** por la palabra puesta anteriormente...
Un ejemplo de variable:
@echo off
echo hola
echo.
set var=hola
set jeje=papa
%var% %jeje%
exit
En este código donde puse %var% %jeje% aparecerá hola papa
Ahora vamos a otro tipo de variables, son muy parecidas, estan hacen que puedas escribir algo y él ejecutador te responda...un ejemplo:
@echo off
title ejemplo variables2
set/p=¿como te llamas?
echo.
pause
echo.
set/p edad=¿y cuantos años tienes?
echo.
pause
echo.
echo te llamas %nombre% y tienes %edad% años
echo.
pause > nul
exit
¿¿Lo entendeis??
Es exactamente igual, escribimos el codigo:
set/p **VARIABLE**=**PREGUNTA, TEXTO, ETC..**
Sustituyendo **VARIABLE** por lo que querais y **PREGUNTA, TEXTO, ETC..** por la pregunta, texto, etc que querais que le aparezca...
Y Después le haceis referencia así:
%**VARIABLE PUESTA ANTERIORMENTE**%
Sustituyendo **VARIABLE PUESTA ANTERIORMENTE** por la variable puesta anteriormente...
Vayamos con otro comando, este, sirve para limpiar lo anterior escrito en pantalla, es decir, elimina de la vision del ejecutador lo anterior...es este:
cls
Ejemplo:
@echo off
title hola
echo hola
echo.
echo qué tal?
echo.
cls
pause
exit
¿Fácil no?
Ahora vamos con los códigos de los colores, para la ventana..
0 = Negro
1 = Azul
2 = Verde
3 = Aguamarina
4 = Rojo
5 = Púrpura
6 = Amarillo
7 = Blanco
8 = Gris
9 = Azul claro
A = Verde claro
B = Aguamarina claro
C = Rojo claro
D = Púrpura claro
E = Amarillo claro
F = Blanco brillante
Un ejemplo de como aplicarlos:
@echo off
title hola
color 5E
echo hola
exit
Seria asi el comando:
color **COLOR VENTANA****COLOR LETRA**
Sustituyendo **COLOR VENTANA** por el color de fondo y **COLOR LETRA** por el color de la letra...por ejemplo color 6C o color F1...
Ahora vamos con nuevas variables...es para operaciones matemáticas...se expresa asi:
set/a **VARIABLE**=**PREGUNTA, TEXTO, ETC..**
Mejor ver un ejemplo:
@echo off
title ejemplo
set/p a=¿cual es tu nota en matematicas?
cls
set/p b=¿cual es tu nota en tecnologia?
cls
set/p c=¿cual es tu nota en lengua?
cls
set/p d= ¿cual es tu nota en ingles?
cls
set/p e=¿cual es tu nota en sociales?
cls
set/p f=¿cual es tu nota en dibujo?
cls
set asig=6
rem esto que acabo de poner es para sacar una media, al valor asig le asignamos 6, porque son 6 las preguntas..
set/a suma=a+b+c+d+e+f
rem aqui sumamos
set/a media=%suma%/%asig%
rem aqui sacamos la media dividiendo suma que es = a+b+c+d+e+f que es el resultado puesto por el ejecutante entre asig, que es = 6, y asi, sacamos la media...
echo tu nota media es de : %media%
pause
exit
¿¿Lo habeis entendido??
Ahora vamos con el if, menus y gotos..
Para hacer menus en nuestro bat, debeis utilizar este comando:
:**NOMBRE MENU**
Sustituyendo **NOMBRE MENU** por el nombre del menu...ejemplo; :menu1 o :menu2 ..
Para dar saltos de menus a menus, se utiliza este comando:
goto **NOMBRE MENU**
Sustituyendo **NOMBRE MENU** por el nombre del menu al que queremos saltar..
Para establecer una condicion, como...si esto se cumple haz esto, y si no se cumple, haz lo otro utilizamos el comando if, es algo complejo, os lo explico:
Primero se le da un valor al variable:
set/p **VARIABLE**=**PREGUNTA, TEXTO, ETC..**
Sustituyendo **VARIABLE** por lo que querais y **PREGUNTA, TEXTO, ETC..** por la pregunta, texto, etc que querais que le aparezca...
Y Después le haceis referencia así:
%**VARIABLE PUESTA ANTERIORMENTE**%
Sustituyendo **VARIABLE PUESTA ANTERIORMENTE** por la variable puesta anteriormente...
Y Despues se ponen las condiciones:
If %**VARIABLE PUESTA ANTERIORMENTE**%==**RESPUESTA** goto *NOMBRE MENU**
If %**VARIABLE PUESTA ANTERIORMENTE**% LSS **RESPUESTA** goto *NOMBRE MENU**
If %**VARIABLE PUESTA ANTERIORMENTE**% GTR **RESPUESTA** goto *NOMBRE MENU**
If %**VARIABLE PUESTA ANTERIORMENTE**% LEQ **RESPUESTA** goto *NOMBRE MENU**
If %**VARIABLE PUESTA ANTERIORMENTE**% GEQ **RESPUESTA** goto *NOMBRE MENU**
Cuando es == es si la variable puesta anteriormente es igual a la respuesta ve a este menu
Cuando es LSS es si la variable puesta anteriormente es menor a la respuesta ve a este menu
Cuando es GTR es si la variable puesta anteriormente es mayor a la respuesta ve a este menu
Cuando es LEQ es si la variable puesta anteriormente es menor o igual a la respuesta ve a este menu
Cuando es GTR es si la variable puesta anteriormente es mayor o igual a la respuesta ve a este menu
Un ejemplo de adivinanza de número:
@echo off
title ejemplo
:menu
cls
echo debes averiguar el numero para poder salir
echo.
set /p var=pon un numero:
If %var%==5 goto si
If %var% LSS 5 goto menor
If %Var% GTR 5 goto mayor
:si
cls
echo correcto!!
pause
goto salir
:menor
cls
echo elije otro mas alto
echo.
echo sigue jugando
pause > nul
goto menu
:mayor
echo elije otro mas pequeño
echo.
echo sigue probando
pause > nul
goto menu
:salir
exit
Tambien pueden usar el comando if not que hace lo contrario que el if. En vez de decir SI pasa esto....haz esto, lo que hace es decir, SI NO pasa esto...haz esto.
Si en vez de escribir un número lo que hace es escribir letras, pasará a la siguiente linea...pero no os preocupeis, esto, tiene solucion....con el comando else..
EJEMPLO :
if %vari%=1 (goto menu1) else goto menu2
Esto quiere decir que si la variable es = a 1 va al menu 1, y si no, va al menu 2, la primera accion SIEMPRE debe ir entre parentesis...
Sigamos...
Para eliminar archivos pidiendote confirmacion es este comando:
del /p **RUTA ARCHIVO**
Sustituyendo **RUTA ARCHIVO** por la ruta del archivo a querer borrar..
Para eliminar archivos a la fuerza, y hasta los que estan "en solo lectura" es este comando:
del /f **RUTA ARCHIVO**
Sustituyendo **RUTA ARCHIVO** por la ruta del archivo a querer borrar..
Para eliminar archivos y los subdirectorios es este comando:
del /s**RUTA ARCHIVO**
Sustituyendo **RUTA ARCHIVO** por la ruta del archivo a querer borrar..
Para eliminar archivos silenciosamente, es decir, sin pedir confirmación, es este comando:
del /q**RUTA ARCHIVO**
Sustituyendo **RUTA ARCHIVO** por la ruta del archivo a querer borrar..
Tambien se pueden unir en todas las combinaciones que querais:
del /q /s**RUTA ARCHIVO**
Sustituyendo **RUTA ARCHIVO** por la ruta del archivo a querer borrar..
Para comenzar algo, como por ejemplo, una web, es este comando:
star **DIRECCION WEB**
Sustituyendo **DIRECCION WEB** por la web.
Para matar un proceso, es este comando:
taskkill **NOMBRE PROCESO**
Sustituyendo **NOMBRE PROCESO** por el nombre del proceso..
Para formatear una unidad, es este comando:
Format **UNIDAD**
Sustituyendo **UNIDAD** por el nombre de la unidad, como c: por ejemplo.
Para enviar un mensaje en una ventana de windows es este comando:
msg* **MENSAJE**
Sustituyendo **MENSAJE** por el mensaje..
Ahora el caracter *
Si ponemos: del *.jpg
eliminará todos los archivos con la extension .jpg
Si ponemos: a*.jpg
eliminará todos los archivos que empiecen por a y tengan extension .jpg..
Para reiniciar el ordenador es este comando:
shutdown -r
Para apagar el ordenador es este comando:
shutdown -s
Para cerrar todos los programas es este comando:
shutdown -f
Para indicar un tiempo de realizacion a un valor anterior es este comando:
shutdown -**r/s/t SEGUN LA PREFERENCIA** -t **TIEMPO EN SEGUNDOS**
Sustituyendo **r/s/t SEGUN LA PREFERENCIA** por r, s o f.. y **TIEMPO EN SEGUNDOS** por el tiempo de espera a realizar la accion, en segundos..
Bueno yo creo que no queda mucho más por explicar, conforme vaya yo aprendiendo os lo explicare.
|
|
|
|
|
|
|
Hoy habia 40 visitantes (48 clics a subpáginas) ¡Aqui en esta página!
Licencia de Copyright . © 2010 [Admin] | RSS: Entradas y Comentarios | Modificación de Mimbo theme | Política de privacidad.
|
|
|
|
|
|
|
|