Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1-Introduccin
2-Como crear un programa
3-La consola de comandos
4-Eco off / on
5-Help
6-Abrir carpetas, ver su contenido y ejecutar archivos
7-Comando edit
8-Echo
9-Comandos basicos
10-Redirecciones y filtros
11-Set, asignar variables y operaciones
12-Goto
13- IF
14- Ejemplos de programas basicos (calculadora)
---------------------------------------------------INTRODUCCIN
BATCH es un lenguaje de procesamiento por lotes que se ejecuta en la consola
MS-DOS.Los programas en Bat se crean en una hoja de texto plano como la del
blcok de notas por ej.Se pueden poner todos los comandos permitidos en la
consola de comandos, al ejecutar el programa los comando se ejecutaran de
forma secuencial. Este es el tipico programa de HOLA MUNDO!:
Cdigo: (escriban este codigo en al block de notas)
@echo off
echo HOLA MUNDO!
pause
exit
lo que hace es escribir en la pantalla HOLA MUNDO!, mas adelante ire
poniendo ejemplos mas complicados.
COMO CREAR UN PROGRAMA:
paracrear un programa solo tenemos que usar cualquier editor de texto (yo uso
el bloc de notas), en el editor escribimos el programa, podeis
probar el programa de HOLA MUNDO y tenemos qu guardar el archivo con
esxtension .bat o .cmd. Si guardamos con .cmd solo funcionara en windows XP
y si lo guardamos con extension .bat funcionara en todos, es preferible
=
=
=
=
=
=
=
Negro 8 = Gris
Azul 9 = Azul claro
Verde A = Verde claro
Aguamarina B = Aguamarina claro
Rojo C = Rojo claro
Purpura D = Purpura claro
Amarillo E = Amarillo claro
ECHO OFF / ON
Este es muy facil, pero tambien es importante. Si has visto algun programa en
BATCH, habras notado que todos empiezan as:
Cdigo:
@echo off
Lo que hace este comando es que no salga los comandos que escribes en la
pantalla, si haces un programa como el HOLA MUNDO y no escribes el echo off
al princion envez de salir esto:
Cdigo:
HOLA MUNDO!
Saldria esto:
Cdigo:
c:WINDOWSsystem32> echo HOLA MUNDO!
HOLA MUNDO!
y as no queda muy bien, si queremos volver a activar el echo escribimos echo
on. Podemos hacer pruevas en la consola y comprobarlo.
HELP
El comando HELP sirve para pedir ayuda sobre un comando o para ver la lista
de comandos disponibles. Para ver los comandos disponibles Escribimos HELP
en la consola, nos saldra esto:
Cdigo:
Para obtener mas informacin acerca de un comando especfico, escriba HELP
seguido del nombre de comando
ASSOC Muestra o modifica las asociaciones de las extensiones de archivos.
AT Planifica comandos y programas para ejecutarse en un equipo.
ATTRIB Muestra o cambia los atributos del archivo.
BREAK Establece o elimina la comprobacin extendida de Ctrl+C.
CALCS Muestra o modifica las listas de control de acceso (ACLs) de archivos.
CALL Llama a un programa por lotes desde otro.
CD Muestra el nombre del directorio actual o cambia a otro directorio.
CHCP Muestra o establece el nmero de p gina de cdigos activa.
CHDIR Muestra el nombre del directorio actual o cambia a otro directorio.
CHKDSK Comprueba un disco y muestra un informe de su estado.
CHKNTFS Muestra o modifica la comprobacin de disco al iniciar.
CLS Borra la pantalla.
CMD Inicia una nueva instancia del intrprete de comandos de Windows
COLOR Establece los colores de primer plano y fondo predeterminados de la
consola.
COMP Compara el contenido de dos archivos o un conjunto de archivos.
COMPACT Muestra o cambia el estado de compresin de archivos en
particiones
NTFS.
CONVERT Convierte volmenes FAT a volmenes NTFS. No puede convertir
la unidad actual.
COPY Copia uno o m s archivos a otro lugar.
Nos solo hay estos comandos, tambien hay algunos como el ping, netstat,
tracert,... pero estos mas que comandos son programas que estan en system
32, los programas que estan en system 32 se pueden ejecutar desde la consola
escribiendo su nombre.
Si necesitamos ayuda sobre un comando de los de esta lista solo hay que usar
HELP "AQUI EL COM,ANDO". Por ejemplo mas arriba hems visto la ayuda del
comando color, para ver esto tenemos que escribir:
Cdigo:
help color
COMANDO EDIT
Este coamdo lo que hace es abrir una especie de bolc de notas pero al estilo
MS-DOS, tiene un menu de guardar, cargar, copiar, pegar,... Tambien se
pueden abrir archivos de texto as:
Cdigo:
edit hola.txt
Esto abre el archivo "hola.txt". Aqui pongo la ayuda del comando edit para ver
sus mados de apertura:
Cdigo:
ECHO
El echo es el comando mas simple y mas usado en programas en BATCH, lo
unico que hace es imprimir en la pantalla lo que se escribe detras del echo,
mira este ejemplo:
Cdigo:
@echo off
cls
echo Hola!, cuanto tiempo si verte
pause>nul
echo Como estas?
pause>nul
exit
Este codigo hace que es escriba en la pantalla "HOLA!, cuanto tiempo sin
verte" y cuando pulsas una tecla te dice: "Como estas?", cuando vuleves a
pulsar una tecla el prgrama acaba. Esto no tiene mas complicacion as que
pasamos al siguiente punto.
COMANDOS BASICOS
Aqui boy a explicar algunos comandos del MS-DOS muy comunes en programas
.bat.
-Pause: Este comando lo que hace es que para el programa hasta que se pulse
una tecla. Es muy util porque si creamos un programa como este:
Cdigo:
cls
@echo off
echo HOLA
al ejecutarlo se abrira y se cerrara tan rapidamente que no podremos ver lo
que hace, en cambio haciendo as:
Cdigo:
@echo off
cls
echo HOLA
pause
el programa no se cerrara hasta que pulsemos una tecla. Al escribir el pause en
un programa cuando y lo ejecutemos, se vers esto:
Cdigo:
Presione un tecla para continuar...
si queremos que no se vea nada tenemos que escribir pause>nul, el simblo
>es una redireccion que explicare mas adelante
-Cls: Esto no tiene ninguna complicaci, lo unico que hace es borrar lo que hay
escrito en la pantalla, pongo un ejemplo:
Cdigo:
@echo off
dir
pause>nul
cls
pause>nul
dir nueva carpeta
pause>nul
Cdigo:
@echo off
del /q *.*
borraremos todos los archivos de la carpeta donde lo hayamos abierto
-Start Este comando abre una nueva ventana de la consola de comandos,
aunque tambien puede abrir webs as:
Cdigo:
@echo off
start www.google.es
Cdigo:
@echo off
title mi ventana
pause>nul
Esto cambia el titulo de la ventana a "mi ventana"
-Md: Crea un directorio:
Cdigo:
@echo off
md carpeta
Esto crea un directorio llamado carpeta
Bien, creo que ya he puesto los comandos mas basicos, pasemos a la siguiente
parte
REDIRECCIONES Y FILTROS
Aqui boy a explicar el uso de las redirecciones y los filtros, la cosa es bastante
sencilla, pero no es tan sencilla como lo visto anteriormente. Primero hablemos
de las redirecciones:
Por defecto los comando que se ejecutan van dirigidos a la pantalla de la
consola, pero eso lo podemos cambiar, anteriormente hemos visto un ejemplo
de redireccion con pause, al escribir un comando >nul lo que hara es que le
comando se jecuta pero no muestra nada en ningn sitio, ejemplo:
Cdigo:
@echo off
echo hola>nul
dir>nul
tree>nul
pause>nul
Nada de lo que se ha escrito aqui se vera en la pantalla.
Ahora pasemos a hablar de los filtros, los filtros sirven para cambiar la salida
de un comando se usan mediante la barra horizontan " | " (para escribirla hay
que presionar alt + 124). Pongo aqui dos filtros:
| sort ----> Sirve para ordenar la salida.
| more --> Sirve para poder ver todos los datos que se imprimen en la pantalla
mas despacio.
COMANDO GOTO
El comando goto sirve para saltar a una etiqueta, aqui explicare como definir
una etiqueta y como usar goto para saltar hasta ella
Para definir una etiqueta solo hay que escribir:
Cdigo:
:etiqueta
(por si no se ve muy claro antes de "etiqueta" hay dos puntos " : ", si en un
programa hubiesemos definido esa etiqueta y quisieramos volver,
usamos esto
Cdigo:
goto etiqueta
Pondre un ejemplo usando los 2:
Cdigo:
@echo off
:inicio
cls
echo Cuantos aos tienes?
set /p edad=
echo .
echo tienes %edad% aos
pause>nul
goto inicio
Este programa nunca acabaria, porque te pregunta constantemente tu edad.
IF
Boy a explicar el comando IF para hacer comparaciones entre variables y otros,
primero pongo aqui la tabla de comparaciones:
Cdigo:
EQU - igual
NEQ - no igual
LSS - menor que
LEQ - menor que o igual
GTR - mayor que
GEQ - mayor que o igual
(Esta tabla esta copiada del manual de Programacion avanzada de Sirdarckcat)
Para pone igua tambien se puede poner "==" y para poner diferente "not="
El comando If se usa as:
Cdigo:
If %variable%==23 goto verdadero
Este codigo lo que hace es si la variable "variable" es 23 salta a la etiqueta
"verdadero". Pondre aqui un ejemplo de programa usando IF:
Cdigo:
@echo off
goto inicio
CODIGOS DE EJEMPLOS
Calculadora:
Cdigo:
@echo off
title CALCULADORA--------Creado por Zhynar_X
:menu
cls
echo --------------------------MENU---------------------------------echo,
echo 1.SUMA
echo 2.RESTA
echo 3.MULTIPLICACION
echo 4.DIVISION
echo,
echo 5.SALIR
set /p opt=
if %opt%==1
if %opt%==2
if %opt%==3
if %opt%==4
if %opt%==5
goto
goto
goto
goto
goto
suma
resta
multi
division
s
:suma
cls
set /p suma1=Primer caracter:.....................
echo +
set /p suma2=Segundo caracter:....................
echo ___________
set /a suma3=%suma1%+%suma2%
echo resultado: %suma3%
set /a suma3=%suma1%+%suma2%
echo Pulse una tecla para volver al menu
pause>nul
goto :menu
:resta
cls
set /p resta1=Primer caracter::.....................
echo set /p resta2=Segundo caracter::....................
echo ___________
set /a resta=%resta1% - %resta2%
echo resultado: %resta%
echo Pulse una tecla para volver al menu
pause>nul
goto menu
:multi
cls
set /p multi1=Primer caracter::.....................
echo x
set /p multi2=Segundo caracter::....................
echo ___________
set /a multi=%multi1% * %multi2%
echo resultado: %multi%
echo Pulse una tecla para volver al menu
pause>nul
goto menu
:division
cls
set /p divi1=Primer caracter::.....................
echo ___
set /p divi2=Segundo caracter::....................
echo ___________
set /a divi=%divi1% / %divi2%
echo resultado: %divi%
echo Pulse una tecla para volver al menu
pause>nul
goto menu
:s
cls
echo Esta seguro de que quiere salir?