[B] Tutorial de Programación Básica en Batch By: -KuTeR-

Iniciado por ProcessKill, Febrero 24, 2010, 05:16:57 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Buenas :D
Aquí les traigo un tutorial básico de programación en batch hecho exclusivamente por mi. Mi objetivo es introducirlos al lenguaje de scripting batch que aunque parezca que no sirve de mucho les aseguro que es una gran alternativa para las personas con Windows en sus PCs y con interés por la programación:

[size=10]TUTORIAL DE PROGRAMACIÓN EN BATCH[/size]

[size=8]¿Qué es Batch?[/size]

Batch es un lenguaje de programación scripting que se usa en Windows a por medio de la Shell de Comandos también conocido como "Simbolo del Sistema".
Batch tiene como objetivo automatizar tareas en Windows entre otras cosas. Este lenguaje aunque parezca que es "inutil" tiene infinidad de usos, cada uno más interesante que el anterior, como la creación de virus, al antes nombrada automatización de tareas etc... A lo largo de este tutorial les enseñaré algunas nociones básicas sobre este lenguaje de Scripting. Bueno vallamos al lío ;D

[size=8]¿Que se necesita para aprender Batch?[/size]
El lenguaje batch es posiblemente uno de los lenguajes más sencillos de toda la programación. Para crear nuestros "pequeños" programas solo necesitamos del editor de texto más sencillo que existe en Windows, el Bloc de Notas o notepad. Después plantar el código de nuestro script en un bloc de notas lo que deberemos hacer es guardar el archivo con la extension .bat o .cmd y al ejecutarlos se mostrará la famosa pantallita del cmd.

[size=8]Comandos Básicos[/size]
A continuación les mostrare una lista con los comandos más utilizados en Batch, vamos allá ;D
@echo off: Esto se debe poner al principio de todo code, sirve para que al ejecutar nuestro script no se muestre la ruta de nuestro sistema ej: C:\Windows\System32\
echo: Este es uno de los comandos más básicos de batch, sirve para mostrar un texto en pantalla.
pause: Sirve para hacer una pausa en el programa, se puede poner acompañado por > nul o solo, la diferencia es que si se pone acompañado el programa no mostrará el texto: "Pulse una tecla para continuar..."
exit: Sirve para salir del programa. Se puede acompañar del parámetro /B si solo quieres salirte del programa, no de la cmd.
goto: Sirve para pasar de una parte a otra del programa que va provista por una etiqueta y un título, un ejemplo sería

:prueba
echo hola
goto prueba

Lo que haría esta muestra sería imprimir un texto en pantalla diciendo "hola", cada vez que se muestre goto prueba se redireccionará el programa hast la etiqueta :prueba.

if: Este comando es uno de los más usados en batch, sirve para comparar dos variables (se definirá la palabra variable más adelante) y ejecutar una accion dependiendo de si una condición es verdadera o falsa, puede ser un poco liosa pero lo vemos mejor con un ejemplo

echo Menu elije una opcion
echo 1 opcion 1
echo 2 opcion 2
echo 3 opcion 3
set /p %variable%=
if %variable%==1 (comando) else (comando2)
Esto significaría que si la variable (%variable%) es igual (==) a 1 (opcion 1) se ejecutaría un comando, sino (else) se ejecutaría otro comando

call: Sirve para llamar a una parte del programa precedida por ":" o a otro archivo .bat Ejemplo:

:hola

echo hola me llamo Pepe

call :hola (te llevaría hasta la etiqueta hola que seria igual a "me llamo pepe")

call archivo.bat

llamaría a archivo.bat que se ejecutaría.

start: Sirve para ejecutar un archivo sin depender de su extension, su sintaxis es básica: start rutadelarchivo\archivo.extension

[size=8]Variables[/size]
Las variables son muy usadas en batch para abreviar comandos, para definir valores dentro del programa, o incluso para crifrar.
La variable puede ser definida por el programador o por el usuario que ejecuta el programa, la sintaxis básica de una variable es:

set /p nombrevariable= (esta sería una variable que tendria que definir el usuario que ejecute el programa)
cuando se quiera llamar a la variable se deberá poner su nombre por ejemplo
set /p nombre= hola
echo %nombre% ( Esto imprimiría el contenido de la variable en pantalla, en este caso hola )

Si el propio programador quisiera definir una variable para abreviar por ejemplo debería poner esto:

set nombre=contenido

Existe otro tipo de variable que se encarga de realizar operaciones entre dos variables, por ejemplo

definimos dos variables:

set A=1
set B=2

set /a resultado=A+B Esto sumaría las variables A y B y lo almacenaria a su vez en la variable resultado de modo que si hacemos:

echo %resultado% nos saldría en pantalla 3

Para esto se usan los llamados operadores aritméticos, son:

+ = suma
- = resta
* = multiplicación
/ = división

[size=8]Redirecciones ¡Muy importantes![/size]

Las llamadas redirecciones se usan en batch para crear archivos de texto que pueden guardarse después con diferentes extensiones (por ejemplo .bat)
Para redireccionar se usan los símbolos > y >> , os explico la diferencia.
Veamoslo con un ejemplo
Queremos crear un archivo.txt con el contenido hola mundo, llevado al mundo de las redirecciones sería asi

echo hola mundo > archivo.txt
se habría creado un archivo llamado archivo.txt con el contenido "hola mundo". Pero imaginemonos que quieremos añadir más texto, diras facil!
echo más texto para el archivo > archivo.txt

pues no!! te pasaste de listo, si hicieras eso se sobreescribiría y en el archivo solo veriamos "más texto para el archivo"
para que esto no pase se usa >> veamos un ejemplo

echo más texto para el archivo >> archivo.txt
suponiendo que antes hubieramos escrito hola mundo el contenido del archivo sería:

hola mundo
más texto para el archivo

Existe otro tipo de redirección llamada multilínea en la que se agrupa todo el texto que queramos añadir en un parentesis y se pone al final > archivo.txt
Ejemplo:

echo(
echo hola mundo
echo más texto para el archivo ) > archivo.txt

[size=8]Tratamiento de Archivos[/size]
Esto es algo muy básico, vamos a tratar los comandos de tratamiento de archivos con los que podremos entre otras cosas borrar,mover copiar archivos crear,borrar carpetas etc...
Empecemos enumerando los comandos:

del: Borrar archivos, su sintaxis es básica = del /F /Q archivo Explicamos los parametros

/F: Sirve para forzar la eliminación de archivos.
/Q: Sirve para que el programa no pida confirmación para borrar, muy util para virus

move: Sirve para mover archivos de una caprte a otra, muy básico: move rutaarchivoamover rutaalaquemoverelarchivo
copy: Sirve para copiar archivos de una carpeta a otra : copy rutaarchivoacopiar rutaalaquecopiarelarchivo
md: crea carpetas: md rutacarpeta
rd: borra carpetas: rd /S /Q carpeta /S sirve para eliminar la carpeta con todas sus subcarpetas
dir: sirve para enumerar los archivos que hay en una carpeta: dir carpeta
format: sirve para formatear una unidad: format unidad
runas: sirve para inciar un programa como administrador: runas /user:Usuario programa

Asta aquí llega el trataminto de archivos

[size=8]Otros comandos y Despedida[/size]

Aqui llega una lista de comandos más avanzados que se explicarán más detalladamente en el tutorial de Batch de Nivel Medio

shutdown: apaga o reinicia el pc
attrib: modifica los atributos de los archivos
assoc: modifica las extensiones de los archivos
for: crea bucles y procesa archivos
color: cambia el color de la pantalla
title: cambia el título de la pantalla
mode con: modifica el tamaño de la pantalla

Bueno hasta aquí llega este tutorial me despido hasta el próximo que será:

Tutorial de Programación en Batch II Nivel Medio

Salu2

Añadido (2009-04-30, 10:51 Am)
---------------------------------------------
Bueno tutorial posteado :D a ver si la gente se interesa más por el batch

Salu2

Batch's Art By -KuTeR-

Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta