Tutorial: Aprende a programar en Bat

Creditos: Yeikel2

Comenzemos.

Bat es un tipo de programacion plano que se codifica con ASCII, es decir, con la escritura de nosotros se puede realizar un bat.

Primero que nada, debemos conocer el comando primordial, llamado echo.

Echo es el comando que da ordenes y da cosas por escrito.

Para que el bat no sea tan dificil de comprender, vale la pena que para comenzar a programar, usemos el comando echo

Ahora, para comenzar vamos a crear un comando para que nos salga una pantalla diciendo "Hola".

El codigo que se escribe en el block de notas es este:


@echo off echo hola pause exit



Ahora, vamos a explicarlo

@echo off



Este es el comando que indica que no aparescan las acciones sino el resultado de las mismas.

echo hola



Este comando significa:

echo



Ese comando indica que lo proximo a escribir se mostrara en la consola.

hola



Esto significa que se dira "Hola"

pause



Este comando pausa la consola, hasta que demos a alguna tecla no continuara.

exit



Significa que al presionar una tecla, se cerrara la consola.

Ahora que ya saben que significa @echo, echo, pause y exit, vamos a conocer comandos de este archivo:


@echo off echo Cuando presiones una tecla echo La pantalla se borrara echo Y se escribira algo pause cls echo ¿Ves? pause



Ya conocen @echo, echo y pause, el que no conocen es CLS

CLS es un comando que limpia la consola.

Comandos:

CD: Ubica el batch en un lugar (ejm: CD "C:Archivos de programa"

If not exist "x" goto "x": Si no existe el archivo X ve al orden de acciones x.

Ejemplo:
Un bat que reemplaza el archivo "x" en Archivos de programa por el archivo "c" en archivos de programahot.


@echo off cd "C:Archivos de programa" if not exist "x" goto error if exist "x" goto re :error echo Error en el reemplazo. pause cls :re copy x "C:Archivos de programaHotc" pause exit



Ahora analizemos lo que no han aprendido en ese bat:

:error y/o :re :

Especifica un bat con varios comandos y/o funciones.

copy x "C:Archivos de programaHotc":

Copia el archivo "X" y lo manda a C:Archivos de programaHot y lo renombra a c.

if exist "x" goto re:

Significa que si existe el archivo "x" se ira a la linea de comandos "re".

Ahora, Veamos las variables.

Las variables son cosas/objetos que se establecen en el transcurso del bat.

El comando para establecer una variable es set:


@echo off set jo= Hola echo %jo%



set jo= hola:

Significa que el variable "jo" ahora tendra como resultado "hola"

echo %jo%:

Significa que saldra un mensaje diciendo el variable.

Ahora, comenzemos a usar el comando "if" que acompaña a una variable.

Un archivo que si dices "hola" te mandara a la linea de comandos hola, y si dices adios te envia a adios.


@echo off echo Hola o Adios? pause set /p adho= Di hola o adios if %adho% == hola goto hola if %adho% == adios goto adios :hola echo Hola! pause exit :adios echo Adios! pause exit




Ahora analizemoslo:

set /p adho= (/p):

Significa que le pedira al usuario que especifique la descripcion de la variable adho.

if %adho% == hola goto hola
if %adho% == adios goto adios:

Significa que si se detecta que el variable "adho" es hola o adios, le enviara a la linea de comandos hola o adios.

Ahora, y para terminar con algo dificil, creemos una calculadora que sume y reste.

El codigo es este:


@echo off echo Calculadora de Sumas y Restas echo Programado por Yeikel2 pause goto comand :comand echo Que desea hacer? echo Sumar o restar? set /p sor= Sumar o Restar if %sor% == sumar goto sumar if %sor% == restar goto restar :sumar set /p n1= Numero 1 a sumar set /p n2= Numero 2 a sumar set /a suma= %n1% + %n2% echo Resultado: %suma% pause goto credits :restar set /p n1= Numero 1 a restar set /p n2= Numero 2 a restar set /a resta= %n1% - %n2% echo Resultado: %resta% pause goto credits :credits echo Volver a empezar? set /p rem=Si o no? if %rem% == si goto command if %rem% == no goto creedit :creedit echo Programado por Hunter. pause exit



Lo unico que tengo que explicar es esto:

set /a:

Significa que la proxima variable tiene un valor numerico.

Crear un bat que crea otro bat

Codigo:


@echo off echo Creador de otro bat echo Espera. pause>nul echo @echo off>>otrobat.bat echo echo Otro bat by Hunter>>otrobat.bat echo pause>>otrobat.bat echo cls>>otrobat.bat echo echo Holaaa>>otrobat.bat echo set /p param= Tu nombre? >>otrobat.bat echo echo mucho gusto %param%>>otrobat.bat echo pause>>otrobat.bat pause echo Bat creado. start otrobat.bat pause echo Adios, By Yeikel2 pause exit



a asi para que se cree otro archivo:

echo comandoausar>>nombredelbat.bat

el comando Start significa que se abrira "x" archivo.

Lastima que con eso, los variables no funcionan T_T

Ufff que lala hacer un tuto de bat -_-

Añadido:

Codigo fuente de un reemplazador que pide al usuario que especifique ubicacion del archivo y nombre del mismo.


@echo off echo Reemplazador de archivos echo By Yeikel2 pause echo Escribe el lugar donde tienes el archivo set /p place= echo El nombre del archivo set /p name= echo El lugar del archivo nuevo set /p place2= echo El nombre del archivo nuevo set /p name2= pause echo Escribe R cuando quieras reemplazar set /p r= if %r% == r goto reem :reem echo Reemplazando... cd "%place%" copy "%name%" "%place2%%name2%" pause goto credits :error echo Error, no escribiste R. echo Pulsa cualquier tecla para continuar pause>nul :credits echo By xxxx echo Programado por Yeikel2



espero que les haya gustado mi tutorial y es re facil asi que animense, comenten