|
" Hay la misma diferencia entre un sabio y un ignorante que entre un hombre vivo y un cadáver " - Aristóteles - ![]() |
Computerfacil.com |
Chat
Fotos
Últimos Posts
Ayuda
Búsqueda
Miembros
Calendario
|
| Bienvenido, invitado ( Identificarse | Registrarse ) | Reenviar mensaje de validación |
|
|
Forista del Mes: proquibas |
![]() ![]() ![]() |
| TvK10 |
|
||||||||||||||||||||||
![]() **Ubuntero** Grupo: Colaboradores Mensajes: 1.398 Miembro nº: 22.588 Registrado: 1-May 07 |
Aprende a programar en Batch Necesitaremos: -Bloc de notas 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:
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:
¿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...
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:
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:
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:
¿¿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:
¿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:
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:
¿¿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:
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..
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.. By TvK10 -------------------- |
||||||||||||||||||||||
![]() |
![]() ![]() ![]() |
|
|
|