Curso de Batch
Curso de Batch
Curso de Batch
h
tml
Curso de Batch
Para Quienes Inician en la Programacin
Lo primero y principal:
Debes saber cuales son los comandos batch(ms adelante te los explicaremos mejor,
pero as vas calentado).
Para saber los comandos debes ir a:
Inicio>ejecutar
Aqu escribes cmd (sin poner las comillas)
Si te sale una ventana negra con letras blancas vas bien si no reptelo todo y fjat
e bien.
En esta ventana que te a salido escribe Help
Te saldr una lista con todos los comandos y sus caractersticas
Para saber ms sobre un comando escribes:
nombre_del_comando /? ejemplo:
del /?
Ahora si quieres ponte a leer sobre ellos.
Aqu tienen todos los comandos de la shell:
inicio>ejecutar
y escriban:
ms-its:C:WINDOWSHelpntcmds.chm::/ntcmds.htm
Qu es Batch?
Un lenguaje? Unos cdigos? Una interpretacin?
Hay muchas maneras de denominar a batch ya que la gente lo llama de muchas
maneras. Yo como escritor de batch (o programador para los sensibles) lo llamara
as:
Batch son unos scripts interpretados por el sistema a travs de la shell .
Estos scripts pueden ser ordenados en bloque:
-Entrada
-Primera lnea
-Segunda lnea
-Salida
Pero dependiendo la segunda lnea de la primera, y la tercera de la segunda y as
sucesivamente. Esto quiere decir que si un batch falla en su lnea 52 el resto del
batch
no seguir adelante.
Batch no es compilado si no que al igual que perl son interpretados, que para qu
e los
newbies lo entiendan mejor, se podra decir que se van leyendo como un libro.
Primeros comandos y Sintaxis en Batch
Lo primero que deber saber que todo batch se comienza poniendo:
@ echo off
Esto desactiva el eco o repeticin, es decir, que no te saldr la ruta de donde se
encuentra ms el comando, prubalo por ti mismo y comprenders.
Notan la diferencia? bien sigamos.
-Como mostrar un texto en pantalla
Se usa el comando echo de esta manera:
echo Texto a mostrar
ejemplo:
echo Esto es un tutorial para Taringa.
tras poner esto, deben usar el comando pause(parar) o pasara a la siguiente lnea
sin casi
verse. Con todo lo que tenemos aprendido seria as:
@ echo off
echo Texto a mostrar
pause
exit
Si lo que quieren mostrar es un mensaje de tipo ERROR usaran el comando msg).Su
forma de empleo es la siguiente:
msg * texto a salir
ejemplo:
msg * Esto es un tutorial para Taringa.
Comandos Copiar, Mover, Borrar
Los comandos copiar, mover y borrar son copy, move, del. Sus usos respectivament
e
son:
-copy c:rutaorigen c:rutadestino
por ejemplo, suponemos que queremos copiar un .txt :
copy c:carpetanombre.txt c:carpetanombre.txt
El comando move seria exactamente igual pero con el comando move:
move c:carpetanombre.txt c:carpetanombre.txt
El comando Del debera usarse con sus modificadores.Su utilizacin seria as:
del /modificador c:rutaarchivo
ejemplo(pretendemos borrar un .txt):
del /q /s c:carpetanombre.txt
Bien con todo lo aprendido hasta ahora ya podramos hacer lo siguiente:
@ echo off
echo Se va a copiar el .txt
pause
copy c:archivonombre.txt c:archivonombre.txt
echo Se va a eliminar el archivo .txt original
pause
del /q /s c:archivonombre.txt
msg * Trabajo completado!
exit
Variables
Bueno asumo que si ya estas leyendo esto es que habrs ledo antes las partes 1 y 2
de
este curso, por lo que en algn momento te habrs pasado por el rea de Comandos
Batch y les habrs echado un ojo. Bueno ya a partir de aqu no te recordare a cada p
aso
lo de los comandos eso ya lo debes saber tu.
Empecemos hoy estudiaremos el tema de las variables no tocaremos todas sus
funciones (porque son muchas) pero si las bsicas para un escritor.
Aqu el comando maestro ser SET , con este comando aremos infinidad de cosas y en
muchas ocasiones lo acabaras usando.
-nteractuacin con el usuario
Ya estas alturas estaras deseando escribir un programa que interacte con el usuari
o, es
decir, que el que este frente de la pantalla pueda meter datos. Esto lo vamos a
lograr con
el comando Set (y sus modificadores) y con el comando Echo (par que quede bonito
).
La forma en la que se crea una variable en la que el usuario le dar un valor es b
ajo esta
sintaxis de Set:
set /p nombrevariable=
El usuario introducira un dato de cualquier tipo, que se asignara a nombre variabl
e,
para usar las variables empleamos los signos % delante y detrs del nombre de la
variable:
%nombrevariable%
Ahora con lo aprendido en las partes anteriores vamos a crear un simple codigo q
ue te
har entender todo esto:
@ echo off
echo Curso Batch
echo.
echo Introduce tus aos
set /p edad=
echo vaya vaya tienes %edad% aos
pause
msg * Gracias por visitar Taringa
exit
Despus de ver el cdigo lo primero que te preguntaras porque entre las lneas 4 y 5 n
o
introdujo un pause si fue lo que nos dijo en la parte 2. No, no me equivocado, s
et en ese
caso hace que pare el programa ya que el dato que tiene que introducir (por as de
cirlo)
es importante.
-Creando valores semifijos
Un dato importante es que son semifijos porque solo duran mientras que esta el bat
ch
en ejecucin o mejor dicho, mientras esta la shell abierta. Estos datos son muy
cmodos, para no tener que estar recordando datos constantemente y poder resumirlo
en
una palabra.
Esto se crea bajo el comando set con esta sintaxis:
set nombrevariable=datovariable
Es importante decir, que batch, no reserva espacios de memoria por lo que si cre
as otra
variable con el mismo nombre, se escribir sobre la actual.
Aqu un ejemplo:
@ echo off
set devolucion=2015845215
set nueva=2015844215
Creo que queda claro no as en vez de tener que introducir el numero tan largo pod
emos
resumirlo poniendo %devolucion%.
-Operadores matemticos usando Set
Con esto me refiero a sumar, restar, multiplicar y dividir.
Todo esto se consigue bajo el comando set con la siguiente sintaxis:
set /a resultado=dato1 operador dato
Para que lo entiendan mejor se los pongo de ejemplo:
set/a resultado=5 + 5
Con esto se almacena en la variable resultado la suma de 5+5
Fcil verdad? de esto ya solo me queda aclarar una cosa y es que a batch son se le
dan
bien los decimales jejeje as que no pongan nmeros como 5 -
4.999999999999999999991
If, Bucles y Otros comandos
Esta puede ser una de las partes ms complicadas y extensas.
Empezare flojito para no atosigar a tu cerebro tan pronto.
-Limpiando la pantalla
Batch tiene un comando limpiador que sirve para eliminar todo lo que hay en la s
hell
escrito, el comando es cls el cual no tiene sintaxis se pone cls y listo.
-Bucles
Los bucles se componen de dos partes el comando que realiza el salto (goto) y la
etiqueta que lo recibe.
Con los bucles podemos hacer saltos de lnea para llegar a otra
parte del cdigo sin ejecutar ciertas lneas antes la sintaxis, apenas es complicada
:
:bucle (esta es la etiqueta)
. (Lneas que se ejecutaran
. continuamente)
goto :bucle (volver a la etiqueta)
Simple verdad? pues as tenemos un bucle que lo puedes usar como quieras o haciend
o
salto de lneas, me explico, supongamos que hemos desarrollado un cdigo, pero
necesitamos ejecutar primero un trozo que esta al final podramos hacer esto:
:inicio (primera etiqueta)
. (Cdigo)
. (Cdigo)
goto :trozo (saltamos a la lnea que nos interesa)
:seguimos (volveremos aqu cuando acabemos en la lnea
que salteamos antes)